Comments (4)
environ contains the cache object before it gets pushed into the context. You will have to change the order of the middlewares by the way to make it available before the Auth.
#20 has never been tackled as since the introduction of the TGAuthMetadata it is actually pretty straightforward to use the get_user method to retrieve everything from a cache and store them in identtiy thus making the other two methods a noop
from tg2.
Yes, although I noticed that to change the order of the Auth and Cache middlewares is sort of painful, since the Cache middleware is attached with the add_core_middlewares method. Wouldn't be simpler to put an option in the app_cfg to allow changes in the middlewares' stack order?
Regarding #20, what you say works only with a stateful authentication. In case of a statless one, my usual approach is to validate the authentication data, making queries, in the Authenticator plugin.
Probably would be actually better to only actually make queries in the TGAuthMetadata.get_user() method as you say, but still that needs the cache manager to be created before the authentication middleware handles the request.
from tg2.
Also, the request environ is not actually passed to the TGAuthMetadata.get_user() method, meaning that, without a context, the only way I see to get the cache manager is to include the environ in the identity object.
from tg2.
As In TG2.3.5 most middleware have actually been moved to application wrappers this has been tackled in documentation in a way compatible with both current middleware stack and upcoming app wrappers: TurboGears/tg2docs@62140a3
from tg2.
Related Issues (20)
- Using Kajiki & Jinja simultaneously doesn't work HOT 2
- configuration error: no challengers - Documentation for TG2 REST API with Bearer Token Authentication? HOT 1
- vontri gher HOT 2
- In quickstart template /error/document crashes if accessed directly
- Message in ErrorController should not include html tags
- Hooks documentration version 2.4.0 HOT 2
- Issues with @cached(type='memory') and no Accept-Language header HOT 1
- Error: tg.i18n.LanguageError: No translation file found for domain HOT 2
- "TypeError: No object (name: context) has been registered for this thread" when use config.__getitem__ in tgschedule
- kajiki include/import DOCTYPE tag HOT 2
- Python 3: TypeError (no context) which was not present on Python 2 HOT 2
- TurboGears2 and pytest conflict HOT 3
- ErrorPageApplicationWrapper without TraceErrorsMiddleware will mute tracebacks
- Secure attribute for webflash cookie HOT 3
- SQLAlchemy version conflict with TG2.4.3 devtools/SQLAlchemy >=1.4 and zope-sqlalchemy 1.4
- turbogears.org website certificate is expired HOT 1
- Activating Genshi lenient mode in Tg2
- localedir is overrides and not working
- Route/HTTP middleware after method should execute after exception response generate
- Error with objectproxy globals and current versions of mock
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tg2.