本文整理汇总了Python中zope.app.security.interfaces.IUnauthenticatedPrincipal.providedBy方法的典型用法代码示例。如果您正苦于以下问题:Python IUnauthenticatedPrincipal.providedBy方法的具体用法?Python IUnauthenticatedPrincipal.providedBy怎么用?Python IUnauthenticatedPrincipal.providedBy使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类zope.app.security.interfaces.IUnauthenticatedPrincipal
的用法示例。
在下文中一共展示了IUnauthenticatedPrincipal.providedBy方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: update
# 需要导入模块: from zope.app.security.interfaces import IUnauthenticatedPrincipal [as 别名]
# 或者: from zope.app.security.interfaces.IUnauthenticatedPrincipal import providedBy [as 别名]
def update(self):
request = self.request
nextURL = request.get("nextURL")
if not IUnauthenticatedPrincipal.providedBy(request.principal):
getUtility(IAuthentication).logout(request)
if nextURL:
self.redirect(nextURL)
elif not IUnauthenticatedPrincipal.providedBy(request.principal):
self.redirect("logout.html")
示例2: getURL
# 需要导入模块: from zope.app.security.interfaces import IUnauthenticatedPrincipal [as 别名]
# 或者: from zope.app.security.interfaces.IUnauthenticatedPrincipal import providedBy [as 别名]
def getURL(self, type=""):
principal = self.request.principal
if IUnauthenticatedPrincipal.providedBy(principal):
return
homeFolder = IHomeFolder(principal).homeFolder
homeFolder = grok.url(self.request, homeFolder, type)
return homeFolder
示例3: publishTraverse
# 需要导入模块: from zope.app.security.interfaces import IUnauthenticatedPrincipal [as 别名]
# 或者: from zope.app.security.interfaces.IUnauthenticatedPrincipal import providedBy [as 别名]
def publishTraverse(self, request, name):
context = self.context
view = queryMultiAdapter((context, request), name=name)
if view is not None:
return view
if not IUnauthenticatedPrincipal.providedBy(request.principal):
try:
taskId = int(name)
except:
taskId = None
if taskId:
task = getUtility(IIntIds).queryObject(taskId)
if task is not None:
space = context.__parent__
if space.principalId != request.principal.id:
space = IPersonalSpace(request.principal, None)
if space is None:
raise NotFound(context, name, request)
else:
request.response.redirect(
'%s/mytasks/%s/'%(
absoluteURL(space, request), name))
return LocationProxy(task, context, name)
if name in context:
return context[name]
raise NotFound(context, name, request)
示例4: isAvailable
# 需要导入模块: from zope.app.security.interfaces import IUnauthenticatedPrincipal [as 别名]
# 或者: from zope.app.security.interfaces.IUnauthenticatedPrincipal import providedBy [as 别名]
def isAvailable(self):
if not IUnauthenticatedPrincipal.providedBy(self.request.principal):
return False
configlet = component.getUtility(IConfiglet, name="product.zojax-authentication-twitter")
if not configlet.consumerKey or not configlet.consumerSecret:
return False
return True
示例5: __call__
# 需要导入模块: from zope.app.security.interfaces import IUnauthenticatedPrincipal [as 别名]
# 或者: from zope.app.security.interfaces.IUnauthenticatedPrincipal import providedBy [as 别名]
def __call__(self):
request = self.request
if not IUnauthenticatedPrincipal.providedBy(request.principal) and "worldcookery.Login" in request:
camefrom = request.get("camefrom", ".")
request.response.redirect(camefrom)
else:
return self.template()
示例6: __call__
# 需要导入模块: from zope.app.security.interfaces import IUnauthenticatedPrincipal [as 别名]
# 或者: from zope.app.security.interfaces.IUnauthenticatedPrincipal import providedBy [as 别名]
def __call__(self):
request = self.request
siteURL = u'%s/'%absoluteURL(getSite(), request)
if not IUnauthenticatedPrincipal.providedBy(request.principal):
request.response.redirect(siteURL)
return u''
if not 'openid_form_submitted' in request:
request.response.redirect(siteURL)
return u''
identifier = request.get('openid_identifier')
if not identifier:
IStatusMessage(request).add(
_(u"Please specify your OpenID identifier."))
request.response.redirect(siteURL)
return u''
authenticator = getUtility(IOpenIdAuthenticator)
session = ISession(request)[SESSION_KEY]
consumer = Consumer(session, authenticator.store)
try:
authRequest = consumer.begin(identifier)
redirectURL = authRequest.redirectURL(
siteURL, getReturnToURL(request))
except Exception, err:
IStatusMessage(request).add(err, 'error')
redirectURL = siteURL
示例7: __call__
# 需要导入模块: from zope.app.security.interfaces import IUnauthenticatedPrincipal [as 别名]
# 或者: from zope.app.security.interfaces.IUnauthenticatedPrincipal import providedBy [as 别名]
def __call__(self):
if IUnauthenticatedPrincipal.providedBy(self.request.principal):
self.request.response.redirect(
ui_utils.url.absoluteURL(
getSite(), self.request)+"/login"
)
return super(ChangePasswordForm, self).__call__()
示例8: get_user_context_roles
# 需要导入模块: from zope.app.security.interfaces import IUnauthenticatedPrincipal [as 别名]
# 或者: from zope.app.security.interfaces.IUnauthenticatedPrincipal import providedBy [as 别名]
def get_user_context_roles():
"""Get the list of user's roles (including whether admin or not)--this
is the info needed (in addition to the field's modes) to further
filter whether a field is visible or not for a given (user, mode).
Wraps common.get_context_roles(context), with the following differcnes:
- auto retrieves the context, needed param by common.get_context_roles()
- handles case when user is not authenticated
- handles case for when user is "admin"
"""
request = common.get_request()
if request is None:
context = None
principal = None
else:
context = common.get_traversed_context(request)
principal = request.principal
if IUnauthenticatedPrincipal.providedBy(principal):
roles = ["bungeni.Anonymous"]
else:
roles = common.get_context_roles(context)
if common.is_admin(context):
roles.append("bungeni.Admin")
log.debug(""" [get_user_context_roles]
PRINCIPAL: %s
CONTEXT: %s
ROLES: %s
""" % (principal, context, roles))
return roles
示例9: render
# 需要导入模块: from zope.app.security.interfaces import IUnauthenticatedPrincipal [as 别名]
# 或者: from zope.app.security.interfaces.IUnauthenticatedPrincipal import providedBy [as 别名]
def render(self):
if not IUnauthenticatedPrincipal.providedBy(self.request.principal):
auth = component.getUtility(IAuthentication)
ILogout(auth).logout(self.request)
self.flash(_(u'You are now logged out'), type=u'message')
return self.redirect(self.application_url())
示例10: publishTraverse
# 需要导入模块: from zope.app.security.interfaces import IUnauthenticatedPrincipal [as 别名]
# 或者: from zope.app.security.interfaces.IUnauthenticatedPrincipal import providedBy [as 别名]
def publishTraverse(self, request, name,view):
if view is None:
view = queryMultiAdapter((self.context, request), name='main.html')
principal = request.principal
if IUnauthenticatedPrincipal.providedBy(principal):
alsoProvides(request,IAdvertLayer)
return view
示例11: __call__
# 需要导入模块: from zope.app.security.interfaces import IUnauthenticatedPrincipal [as 别名]
# 或者: from zope.app.security.interfaces.IUnauthenticatedPrincipal import providedBy [as 别名]
def __call__(self, *args, **kw):
request = self.request
context = self.context
siteURL = u'%s/'%absoluteURL(context, request)
if not IUnauthenticatedPrincipal.providedBy(request.principal):
self.redirect(siteURL)
return u''
if not 'openid_form_submitted' in request:
self.redirect(siteURL)
return u''
identifier = request.get('openid_identifier')
if not identifier or identifier == 'http://':
IStatusMessage(request).add(
_(u"Please specify your OpenID identifier."))
self.redirect(u'%slogin.html'%siteURL)
return u''
authenticator = getUtility(IUsersPlugin)
session = ISession(request)[SESSION_KEY]
consumer = Consumer(session, authenticator.store)
try:
authRequest = consumer.begin(identifier)
redirectURL = authRequest.redirectURL(
siteURL, getReturnToURL(request))
except Exception, err:
IStatusMessage(request).add(err, 'error')
self.redirect(u'%slogin.html'%siteURL)
return u''
示例12: get_request_context_roles
# 需要导入模块: from zope.app.security.interfaces import IUnauthenticatedPrincipal [as 别名]
# 或者: from zope.app.security.interfaces.IUnauthenticatedPrincipal import providedBy [as 别名]
def get_request_context_roles(request):
"""Get the list of user's roles (including whether admin or not) relevant
for this request layer.
Wraps get_context_roles(context), with the following differences:
- auto determines the context, a needed param for get_context_roles()
- when within a public layer, always returns ["bungeni.Anonymous"]
- handles case when user is not authenticated
- handles case for when user is "admin"
"""
request = request or get_request()
if request is None:
context = None
principal = None
else:
context = get_traversed_context(request)
principal = request.principal
# within a public layer, just proceed as "bungeni.Anonymous"
if is_public_layer(request):
return ["bungeni.Anonymous"]
# other layers
if IUnauthenticatedPrincipal.providedBy(principal):
roles = ["bungeni.Anonymous"]
else:
roles = get_context_roles(context, principal)
if is_admin(context):
roles.append("bungeni.Admin")
log.debug(""" [get_request_context_roles]
PRINCIPAL: %s
CONTEXT: %s
ROLES: %s
""" % (principal, context, roles))
return roles
示例13: isAvailable
# 需要导入模块: from zope.app.security.interfaces import IUnauthenticatedPrincipal [as 别名]
# 或者: from zope.app.security.interfaces.IUnauthenticatedPrincipal import providedBy [as 别名]
def isAvailable(self):
if IUnauthenticatedPrincipal.providedBy(self.request.principal):
return False
if self.oid is None:
return False
else:
return True
示例14: isAvailable
# 需要导入模块: from zope.app.security.interfaces import IUnauthenticatedPrincipal [as 别名]
# 或者: from zope.app.security.interfaces.IUnauthenticatedPrincipal import providedBy [as 别名]
def isAvailable(self):
request = self.request
principal = request.principal
if not IUnauthenticatedPrincipal.providedBy(principal):
return False
auth = getUtility(IAuthentication)
login = queryMultiAdapter((auth, request), ILoginService)
if login is not None:
if login.isChallenging():
return False
if IPluggableAuthentication.providedBy(auth):
for name, creds in auth.getCredentialsPlugins():
if IDefaultCredentialsPlugin.providedBy(creds):
self.nextURL = login.nextURL()
if self.hasOpenId:
include("portlet-login")
return True
return False
示例15: test_context_roles
# 需要导入模块: from zope.app.security.interfaces import IUnauthenticatedPrincipal [as 别名]
# 或者: from zope.app.security.interfaces.IUnauthenticatedPrincipal import providedBy [as 别名]
def test_context_roles(self, mode):
"""EXPERIMENTAL sample code to get a user's roles and whether is_admin
or not -- this is the info needed (in addition to the field's modes)
to further filter whether a field is visible or not for a
given (user, mode).
"""
request = common.get_request()
if request is None:
context = None
principal = None
else:
context = common.get_traversed_context(request)
principal = request.principal
if IUnauthenticatedPrincipal.providedBy(principal):
roles = None
else:
roles = common.get_context_roles(context)
print """!+ModelDescriptor TEST_CONTEXT_ROLES [%s]
PRINCIPAL: %s
CONTEXT: %s
MODE: %s
ROLES: %s
IS ADMIN: %s""" % (self,
principal,
context,
mode,
roles,
common.is_admin(context)
)