Java Doc for SecurityDBObject.java in  » J2EE » Expresso » com » jcorporate » expresso » services » dbobj » Java Source Code / Java DocumentationJava Source Code and Java Documentation

Java Source Code / Java Documentation
1. 6.0 JDK Core
2. 6.0 JDK Modules
3. 6.0 JDK Modules com.sun
4. 6.0 JDK Modules com.sun.java
5. 6.0 JDK Modules sun
6. 6.0 JDK Platform
7. Ajax
8. Apache Harmony Java SE
9. Aspect oriented
10. Authentication Authorization
11. Blogger System
12. Build
13. Byte Code
14. Cache
15. Chart
16. Chat
17. Code Analyzer
18. Collaboration
19. Content Management System
20. Database Client
21. Database DBMS
22. Database JDBC Connection Pool
23. Database ORM
24. Development
25. EJB Server geronimo
26. EJB Server GlassFish
27. EJB Server JBoss 4.2.1
28. EJB Server resin 3.1.5
29. ERP CRM Financial
30. ESB
31. Forum
32. GIS
33. Graphic Library
34. Groupware
35. HTML Parser
36. IDE
37. IDE Eclipse
38. IDE Netbeans
39. Installer
40. Internationalization Localization
41. Inversion of Control
42. Issue Tracking
43. J2EE
44. JBoss
45. JMS
46. JMX
47. Library
48. Mail Clients
49. Net
50. Parser
51. PDF
52. Portal
53. Profiler
54. Project Management
55. Report
56. RSS RDF
57. Rule Engine
58. Science
59. Scripting
60. Search Engine
61. Security
62. Sevlet Container
63. Source Control
64. Swing Library
65. Template Engine
66. Test Coverage
67. Testing
68. UML
69. Web Crawler
70. Web Framework
71. Web Mail
72. Web Server
73. Web Services
74. Web Services apache cxf 2.0.1
75. Web Services AXIS2
76. Wiki Engine
77. Workflow Engines
78. XML
79. XML UI
Java
Java Tutorial
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java Source Code / Java Documentation » J2EE » Expresso » com.jcorporate.expresso.services.dbobj 
Source Cross Reference  Class Diagram Java Document (Java Doc) 


com.jcorporate.expresso.core.dbobj.SecuredDBObject
   com.jcorporate.expresso.services.dbobj.SecurityDBObject

All known Subclasses:   com.jcorporate.expresso.services.dbobj.TmpUser,  com.jcorporate.expresso.services.dbobj.DefaultUserInfo,  com.jcorporate.expresso.services.dbobj.UserPreference,  com.jcorporate.expresso.services.dbobj.UserGroup,  com.jcorporate.expresso.services.dbobj.GroupMembers,  com.jcorporate.expresso.services.dbobj.DBObjSecurity,  com.jcorporate.expresso.services.dbobj.JobSecurity,  com.jcorporate.expresso.services.dbobj.UserPreferenceDef,  com.jcorporate.expresso.services.dbobj.GroupNest,  com.jcorporate.expresso.services.dbobj.ControllerSecurity,
SecurityDBObject
abstract public class SecurityDBObject extends SecuredDBObject (Code)

SecurityDBObject.java

this object provides a means to control the DB context via Setup values. subclasses will ignore any context except that found in Setup.

You probably will never create a subclass of SecurityDBObject yourself--it is a framework tool embedded in the Expresso security system. The idea is to provide a flexible way to redirect authentication classes to another database context. For example, consider a situation where there are two Expresso applications, and you wanted the second application to rely on the first in order to authenticate users and otherwise supply user information. The following classes extend SecurityDBObject in Expresso:

  • ControllerSecurity
  • DBObjSecurity
  • DefaultUserInfo
  • GroupMembers
  • GroupNest
  • JobSecurity
  • TmpUser
  • UserGroup
  • UserPreference
  • UserPreferenceDef

SecurityDBObject provides a means to control the DB context (for some or all of the classes listed above) via Setup values. Two Setup values are important for SecurityDBObject: SecurityDB -- Database to use for User/Group Security Info SecurityDBObjs -- Database Objects that should use the 'fixed' context found in the SecurityDB parameter

If these Setup values are empty, SecurityDBObject does nothing special. However, if these 2 Setup values contain meaningful info, subclasses of SecurityDBObject may ignore any DB context supplied (e.g., they can ignore a context like 'default' that comes from the ControllerRequest). The logic is two-fold: the Setup value SecurityDB must be filled, AND the Setup value SecurityDBObjs must contain the fully-qualified class name of all objects (from the list of SecurityDBObject subclasses listed above) that will use the 'fixed' context value in Setup value SecurityDB. That's a bit tricky, so to repeat: even though all the security classes listed above are instances of SecurityDBObject, each one will use the fixed context only if that individual class is also listed in the Setup value, SecurityDBObjs.

This scheme is useful in at least one case: one primary Expresso application supplying User information to a secondary Expresso application.

LIMITATION: user info and group membership changed on the primary, UserInfo application will not trigger a cache cleaning on the secondary system. So when these memberships are changed, manually clean the cache on the secondary system via admin pages, or by restarting.

As always, this sample may not be representative of your needs, so attempt this only with caution and a single-step debugger handy.


author:
   Michael Nash


Field Summary
final public static  StringSECURITY_CONTEXT
    
final public static  StringSECURITY_OBJECTS
    

Constructor Summary
public  SecurityDBObject()
    
public  SecurityDBObject(int uid)
     Use over (String) constructor.
public  SecurityDBObject(RequestContext request)
     For using DBObjects within Controllers.

Method Summary
protected  voidoverrideDataContext(String newContext)
     when someone tries to set a new data context, check with Setup values to see if this new context should be ignored, such as when a SecurityDBObject subclass is listed in the set of SecurityDBObjs (a list configurable as a Setup param).
public  voidsetDBName(String newContext)
     Ignore the newContext parameter if Setup values indicate to do this.
public  voidsetDataContext(String newContext)
    

Field Detail
SECURITY_CONTEXT
final public static String SECURITY_CONTEXT(Code)



SECURITY_OBJECTS
final public static String SECURITY_OBJECTS(Code)




Constructor Detail
SecurityDBObject
public SecurityDBObject() throws DBException(Code)



SecurityDBObject
public SecurityDBObject(int uid) throws DBException(Code)
Use over (String) constructor. Initializes the object in the context of the user who's uid belongs to the parameter.
Parameters:
  uid - the Uid of the user context
throws:
  DBException - if there's an initialization problem



SecurityDBObject
public SecurityDBObject(RequestContext request) throws DBException(Code)
For using DBObjects within Controllers. Initializes based upon the current user and the requested db. [Of course this can be modified later]
Parameters:
  request - - The controller request handed to you by the framework.
throws:
  DBException - if there's an error constructing the object




Method Detail
overrideDataContext
protected void overrideDataContext(String newContext)(Code)
when someone tries to set a new data context, check with Setup values to see if this new context should be ignored, such as when a SecurityDBObject subclass is listed in the set of SecurityDBObjs (a list configurable as a Setup param).
Parameters:
  newContext - the new data context to use.



setDBName
public void setDBName(String newContext) throws DBException(Code)
Ignore the newContext parameter if Setup values indicate to do this. In other words, when someone tries to set a new data context, check with Setup values to see if this SecurityDBObject subclass is listed in the set of SecurityDBObjs (a list configurable as a Setup param).

Warning: calls super.setDBName(), which could loop back recursively if the superclass then creates objects which get db context set.
Parameters:
  newContext - the new dataContext to use
throws:
  DBException - upon construction error.




setDataContext
public void setDataContext(String newContext)(Code)
Override of DBObject's setDataContext() to call setDBName
Parameters:
  newContext - the new dataContext to use



Fields inherited from com.jcorporate.expresso.core.dbobj.SecuredDBObject
final public static String ADD(Code)(Java Doc)
final public static String[] ALL_FUNCTIONS(Code)(Java Doc)
final protected static String CACHE_NAME(Code)(Java Doc)
final protected static long CACHE_TTY(Code)(Java Doc)
final public static String DELETE(Code)(Java Doc)
final public static String SEARCH(Code)(Java Doc)
final public static int SYSTEM_ACCOUNT(Code)(Java Doc)
final public static String SYSTEM_ACCOUNT_NAME(Code)(Java Doc)
final public static String UPDATE(Code)(Java Doc)

Methods inherited from com.jcorporate.expresso.core.dbobj.SecuredDBObject
public void add() throws DBException(Code)(Java Doc)
public boolean canRequesterAdd() throws DBException(Code)(Java Doc)
public boolean canRequesterDelete() throws DBException(Code)(Java Doc)
public boolean canRequesterRead() throws DBException(Code)(Java Doc)
public boolean canRequesterUpdate() throws DBException(Code)(Java Doc)
public boolean checkAllowed(String requestedFunction) throws DBException(Code)(Java Doc)
public void copyAttributes(DBObject returnObj) throws DBException(Code)(Java Doc)
public synchronized int count() throws com.jcorporate.expresso.core.db.DBException(Code)(Java Doc)
protected synchronized void createSecurityCache() throws CacheException(Code)(Java Doc)
public void delete() throws DBException(Code)(Java Doc)
public synchronized void deleteAll() throws com.jcorporate.expresso.core.db.DBException(Code)(Java Doc)
public boolean find() throws DBException(Code)(Java Doc)
public int getRequestingUid()(Code)(Java Doc)
protected String getString(String stringCode, Object[] args) throws DBException(Code)(Java Doc)
protected String getString(String stringCode) throws DBException(Code)(Java Doc)
protected String getString(String stringCode, String arg1) throws DBException(Code)(Java Doc)
protected String getString(String stringCode, String arg1, String arg2) throws DBException(Code)(Java Doc)
protected String getString(String stringCode, String arg1, String arg2, String arg3) throws DBException(Code)(Java Doc)
protected String getString(String stringCode, String arg1, String arg2, String arg3, String arg4) throws DBException(Code)(Java Doc)
public int getSystemUid()(Code)(Java Doc)
public static SecuredDBObject instantiate(String className) throws DBException(Code)(Java Doc)
public void isAllowed(String requestedFunction) throws SecurityException, DBException(Code)(Java Doc)
public void retrieve() throws DBException(Code)(Java Doc)
public synchronized void search() throws DBException(Code)(Java Doc)
public synchronized ArrayList searchAndRetrieveList() throws DBException(Code)(Java Doc)
public synchronized ArrayList searchAndRetrieveList(String sortKeys) throws DBException(Code)(Java Doc)
public void setRequestingUid(int newUid)(Code)(Java Doc)
public void update() throws DBException(Code)(Java Doc)

www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.