You can use your favorite social network to register or link an existing account:
Or use your email address to register without a social network:
Sign in with these social networks:
Or enter your username and password
Forgot your password?
Yes, please link my existing account with for quick, secure access.
No, I would like to create a new account with my profile information.
Tips
How-to
News
Videos
Stories
This is a consolidated post covering the main things that came up about security. Again sorry for the delay on getting this out. Also note the post has links to the pictures rather than in-place thumbnails. I'll get them moved to a better home where I can reference them directly tomorrow.
I took away 4 main issues from the comments on the security model:
Disabled Mode:
The Automation security property will still be honored and will continue to function the way it always did. This property as you already know is valid and useful in developer scenarios where Access is launched using startup scripts and applications.
Disabled mode and the Office Trust Center are designed to make it easier for a user to make trust decisions in scenarios where scripts that launch Access do not come into play.
There are scenarios, where developers of a solution want to ensure that code in Access (startup form/ macro or otherwise) always executes. In such cases the recommended approach is to ensure that one or more of the following conditions are met:
By meeting these conditions, the code within the solution will always be enabled. In scenarios where neither of these conditions can be guaranteed, Access can be made to revert to its legacy behavior of a modal startup trust prompt, that will launch and execute code in the database or not open the file at all. To revert to this legacy behavior set the following registry key:
HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Access\Security\
Value: ModalTrustDecisionOnly = 1 (DWORD)
Safe Macros:
Safe Macros aren’t meant to replace code, and as noted there is no way all VBA in Access apps today could be replaced by macros. However, they can still serve a very useful purpose, and there is an interesting set of applications that can be created with no VBA at all. The Access team is building over 25 out of the box applications that use only macros. By not using code, we can ensure that these apps are fully functional without signing and without being trusted – they can be mailed around and will work great. In order to make that work, we’ve extended the macro language in some key areas and rethought about the way we build apps.
Even applications that use VBA may still want to use macros for some functionality, like creating simple navigation that will still work when the application is running in disabled mode. Examples include:
{missing picture 1 is available at http://groups.msn.com/AccessBlogPics/shoebox.msnw?action=ShowPhoto&PhotoID=1}
Custom navigation using the navigation tools:
Access 12 developers will be able to customize the “navigation pane” (new nav metaphor, more on that very soon) to show users only those objects they need to see. This is the key thing that Access developers did with the ULS, but done in the context of personalization rather than security.
Let's consider a simple scenario where the database has the following objects:
Tables:
Issues
Contacts
Forms:
Issues List
Issue Details
Reports:
Active Issues
Issues by Assigned To
Macros:
Autoexec
As the creator of the solution let's say I wanted to create the following navigation model:
To go about doing this I can use the concepts of the navigation pane along with certain macros and even code.
The first step is for me to create the navigation pane categories and groups that would allow me to divide up these objects in a way that makes sense. Based on my requirements, I'd need three categories, with the following groups and object shortcuts:
· All Objects
· Tables:
· Issues
· Contacts
· Forms
· Issues List
· Issue Details
· Reports
· Active Issues
· Issues by Assigned To
· Macros
· Autoexec
· Issues and Contacts
For object shortcuts in the "Issues and Contacts" category and the "Issues" category, I'd disable design UI (using the shortcut properties option in the context menu for each shortcut). The property on the shortcut will disable all UI entry points into design for that object.
{{missing picture 2 is available at http://groups.msn.com/AccessBlogPics/shoebox.msnw?action=ShowPhoto&PhotoID=2}}
Now with my categories ready I can create the logic that sets the navigation pane category based on the user. To identify the user I can use code to get the current windows user ID and map that ID to a given category or any other logic (like a custom login prompt) I prefer.
Let's say I'm using code to identify the user and assign him a category (in a function called GetUseCategory()), then the startup macro would look like:
{missing picture 3 is available at http://groups.msn.com/AccessBlogPics/shoebox.msnw?action=ShowPhoto&PhotoID=3}
A brief introduction to Navigation pane macros:
SetDisplayedCategories:
This macro allows the user to specify the categories displayed in the navigation pane. It takes two arguments:
Show (Yes/No): Specifies whether to hide or show specified category.
Category (Enum): Allows the user to specify an existing category. If blank macros operates on all categories.
LockNavigationPane:
This macro allows the user to lock the navigation pane, disabling any further customization via the UI. It takes one argument: Lock (Yes/No).
NavigateTo:
This macro allows the user to navigate to a specific category and sub group. It takes two arguments:
Category (Enum): Specifies the name of an existing category. If blank default to first available category.
Group (Enum): Specifies the name of the group within the category.
ADP’s and Access 12 Security:
The ADP architecture is conceptually unchanged between Access 2003 and Access12, which means that the features continue to work in essentially the same way they did. We continue to believe that SQL Server makes a great store for Access data and that building the UI either through linked tables or ADPs will continue to work well.
Comments: (5) Collapse
Um, did I miss the answer, or are you not prepared to supply it? Does ADE still support Jet user-level security:
- in its previous form?
- in a new but somewhat equivalent form, or
- not support it at all?
PS. I may seem to be looking backwards (instead of forwards) with these questions. However, I - and probably many others - provide applications that have to work with any contemporary version of Access & Jet. So it's just not possible to leap in & start using new, version specific features. One has to be reasonably backwards compatible - just like Windows itself. In some ways, with a single-sourced, multi-version application, you actually have to IGNORE all the new features, and focus totally on what has NOT changed! Just my 2c ...
Two questions about ADPs: 1) Do ADPs inherit all the UI enhancement in the MDB/JET/ACE model? (And what does ACE really stand for?) 2) Have you got Application Roles working in subforms without bugs in the new version? I have really had to kludge around this nasty problem.
Worried Access developer here. Even with the beefed up database password and encryption for .accdb files, I can use GetObject to hook into a such a database if it is already open and do whatever I want. To me this seems to imply that Access has no security. I really, really do hope I am wrong here. If I am correct though, this is turning into a farce.
Is it posible to build custom categories using VBA?
Is it posible to hide groups or object shortcuts using VBA?
Comments: (loading) Collapse