[Checkins] SVN: Sandbox/luciano/kirbi/src/kirbi/ trying to make
authentication work by reverting to basic auth
Luciano Ramalho
luciano at ramalho.org
Fri Aug 17 20:31:36 EDT 2007
Log message for revision 78914:
trying to make authentication work by reverting to basic auth
Changed:
U Sandbox/luciano/kirbi/src/kirbi/app.py
U Sandbox/luciano/kirbi/src/kirbi/app_templates/index.pt
U Sandbox/luciano/kirbi/src/kirbi/book.py
U Sandbox/luciano/kirbi/src/kirbi/pac.py
-=-
Modified: Sandbox/luciano/kirbi/src/kirbi/app.py
===================================================================
--- Sandbox/luciano/kirbi/src/kirbi/app.py 2007-08-18 00:14:12 UTC (rev 78913)
+++ Sandbox/luciano/kirbi/src/kirbi/app.py 2007-08-18 00:31:33 UTC (rev 78914)
@@ -20,13 +20,11 @@
from zope import schema
from zope.component import getUtility
-
PAC_NAME = u'pac'
USER_FOLDER_NAME = u'u'
-grok.define_permission('kirbi.Join')
-grok.define_permission('kirbi.EditBook')
-grok.define_permission('kirbi.DeleteBook')
+grok.define_permission('kirbi.AddCopy')
+grok.define_permission('kirbi.ManageBook')
def setup_pau(pau):
pau['principals'] = PrincipalFolder('kirbi.principals.')
@@ -34,7 +32,8 @@
pau['session'] = session = SessionCredentialsPlugin()
session.loginpagename = 'login'
- pau.credentialsPlugins = ('No Challenge if Authenticated', 'session',)
+ # pau.credentialsPlugins = ('No Challenge if Authenticated', 'session',)
+ pau.credentialsPlugins = ('No Challenge if Authenticated',)
def role_factory(*args):
def factory():
@@ -57,7 +56,7 @@
@grok.subscribe(Kirbi, grok.IObjectAddedEvent)
def grant_permissions(app, event):
role_manager = IRolePermissionManager(app)
- role_manager.grantPermissionToRole('kirbi.EditBook', 'kirbi.Owner')
+ role_manager.grantPermissionToRole('kirbi.AddCopy', 'kirbi.Owner')
class Index(grok.View):
@@ -84,7 +83,8 @@
# register this view for all objects
grok.context(Interface)
-class Login(grok.View):
+class SessionLogin(grok.View):
+ # XXX currently disabled
grok.context(Interface)
def update(self, login_submit=None):
@@ -95,6 +95,12 @@
destination = self.application_url()
self.redirect(destination)
+class Login(grok.View):
+ grok.context(Kirbi)
+ grok.require('kirbi.AddCopy')
+ def render(self):
+ self.redirect(context.pac.absolute_url())
+
class Logout(grok.View):
grok.context(Interface)
def render(self):
@@ -124,6 +130,25 @@
# assign role to principal
role_manager = IPrincipalRoleManager(self.context)
- role_manager.assignRoleToPrincipal('kirbi.Owner',
- principals.prefix + login)
+ role_manager.assignRoleToPrincipal('kirbi.Owner', login)
+ # second arg above was: principals.prefix + login)
self.redirect(self.url(login))
+
+class X(grok.View):
+ def render(self):
+ from zope.app.session.session import ISession
+ unp = IUnauthenticatedPrincipal
+ pri = self.request.principal
+ status = unp.providedBy(pri)
+ ses = ISession(self.request)
+ import pdb; pdb.set_trace()
+ if hasattr(pri,'getLogin'):
+ login = pri.getLogin()
+ else:
+ login = 'N/A'
+ return 'id: [%s] login: [%s]' % (pri.id, login)
+
+
+
+
+
\ No newline at end of file
Modified: Sandbox/luciano/kirbi/src/kirbi/app_templates/index.pt
===================================================================
--- Sandbox/luciano/kirbi/src/kirbi/app_templates/index.pt 2007-08-18 00:14:12 UTC (rev 78913)
+++ Sandbox/luciano/kirbi/src/kirbi/app_templates/index.pt 2007-08-18 00:31:33 UTC (rev 78914)
@@ -21,6 +21,40 @@
</tal:comment>
<td valign="top" align="center">
<h2>Recent additions</h2>
+
+ <div id="document-navigation"
+ tal:define="IUnauthenticatedPrincipal nocall:modules/zope.app.security.interfaces/IUnauthenticatedPrincipal">
+ <h4 tal:content="request/principal/title">user name</h4>
+
+ <ul tal:condition="python:IUnauthenticatedPrincipal.providedBy(request.principal)">
+ <li>
+ <a href="login"
+ tal:attributes="href string:${view/application_url}/login">
+ Log in
+ </a>
+ </li>
+ <li>
+ <a href="signup"
+ tal:attributes="href string:${view/application_url}/signup">
+ Register
+ </a>
+ </li>
+ <li><a href="XXX">Lost password?</a></li>
+ </ul>
+
+ <ul tal:condition="python:not IUnauthenticatedPrincipal.providedBy(request.principal)">
+ <li>
+ <a href="logout"
+ tal:attributes="href string:${view/application_url}/logout.html">
+ Log out
+ </a>
+ </li>
+ </ul>
+</div>
+
+
+
+
</td></tr>
</table>
Modified: Sandbox/luciano/kirbi/src/kirbi/book.py
===================================================================
--- Sandbox/luciano/kirbi/src/kirbi/book.py 2007-08-18 00:14:12 UTC (rev 78913)
+++ Sandbox/luciano/kirbi/src/kirbi/book.py 2007-08-18 00:31:33 UTC (rev 78914)
@@ -241,7 +241,7 @@
setattr(self,key,value)
class Edit(grok.EditForm):
- grok.require('kirbi.EditBook')
+ grok.require('kirbi.ManageBook')
form_fields = grok.AutoFields(IBook)
template = grok.PageTemplateFile('form.pt')
Modified: Sandbox/luciano/kirbi/src/kirbi/pac.py
===================================================================
--- Sandbox/luciano/kirbi/src/kirbi/pac.py 2007-08-18 00:14:12 UTC (rev 78913)
+++ Sandbox/luciano/kirbi/src/kirbi/pac.py 2007-08-18 00:31:33 UTC (rev 78914)
@@ -139,7 +139,7 @@
self.results = sorted(results, key=attrgetter('filing_title'))
class AddBook(grok.AddForm):
- grok.require('kirbi.EditBook')
+ grok.require('kirbi.ManageBook')
form_fields = grok.AutoFields(IBook).omit(*['source','source_url',
'source_item_id'])
More information about the Checkins
mailing list