[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