New Posts New Posts RSS Feed: Security in Cabana App
  FAQ FAQ  Forum Search   Calendar   Register Register  Login Login

Security in Cabana App

 Post Reply Post Reply
Author
gus_mariani View Drop Down
Newbie
Newbie


Joined: 08-Dec-2007
Posts: 1
Post Options Post Options   Quote gus_mariani Quote  Post ReplyReply Direct Link To This Post Topic: Security in Cabana App
    Posted: 08-Dec-2007 at 8:47am
Hello:
I have introduced IdeaBlade throught the availbale tutorials. However, when I tried to reproduce the Windows Form tutorial into a Cabana App, I encounetered is quite different.... Is there a tutorial/video with a step-to-step introduction about the Cabana App?
It is possible to implement security as described in the Security tutorial in the Cabana App?
 
Thanks in advance;
G.Mariani
Back to Top
Bill Jensen View Drop Down
IdeaBlade
IdeaBlade
Avatar

Joined: 31-Jul-2007
Location: United States
Posts: 229
Post Options Post Options   Quote Bill Jensen Quote  Post ReplyReply Direct Link To This Post Posted: 14-Dec-2007 at 3:36pm
Hi Gus,
 
1.  I'm sorry, but at this point the only documentation on Cabana is what's available on our web site and in the threads of this forum.  We'd love to have more, but it's still out in the future.  For now, you pretty much have to read and understand the Cabana code.  This can seem daunting at first but gets easier over time.
 
2.  Cabana uses a somewhat different application architecture from the DevForce tutorials and already contains a user authentication/authorization architecture. 
 
Briefly:
 
1.  In ShellApplication the CAB/SCSF-supplied implementation of IAuthenticationService is replaced with a custom IdeaBlade.Cab implementation (AppAuthenticationService from the application's Foundation project /Services folder)
 
2.  IAuthenticationService.Authenticate() is invoked by the base CAB Application class on startup.
 
3.  Authenticate() gets the user's credentials (currently the current principal's Windows id--you could implement your own mechanism such as prompting for username/password).
 
4.  It then passes the credentials to the PersistenceManager's Login() method, as in any DevForce application, where they are sent to the server.
 
5.  On the server side, the LoginManager (in the application's Model project) receives the credentials and is responsible for authenticating and authorizing the user and returning an implementation of IPrincipal.
 
6.  The Cabana Model project provides a sample LoginManager implementing role-based security.  This mechanism is also included in the skeleton project generated by the IdeaBlade.Cab application wizard. 
 
7.  You're free to modify this implementation as necessary.  All that's really needed is to modify GetUserPasswordIdentity() and/or GetWindowsIdentity() to provide an object implementing the IUser() interface.  The default implementation uses the SecurityUser business object.
 
8.  When compiled with the DEBUG symbol defined, the default LoginManager uses a special filter that translates me and Ward to specific userids and everyone else to "guest".  You might want to change or disable this method in your app.
 
I hope this gets you moving.  Let me know if you need more.
 
Thanks,
Bill Jensen
IdeaBlade
 
 
Back to Top
 Post Reply Post Reply

Forum Jump Forum Permissions View Drop Down