Users
Overview
MC19 adds user accounts to the library. User accounts allow you to control which users see what content in your library. User accounts can optionally be password protected. The User system replaces Access Control from earlier versions.
The accounts are part of the library. The user accounts are included as part of a library backup, and any connected clients will have access to the same accounts as the server.
Security and Scope
User accounts change what files are shown in the library. However, they have no impact on a file's actual availability at the operating system level.
None of this restricts access to the filesystem in any way. So, users can still all of the source media files via Windows Explorer. MC will refuse to play a file if opened (even from Windows Explorer) by a user without permissions for the file. But no other application will respect this restriction. Also, if you've created a user restriction via the Files to Show field in the Add User dialog, there is nothing to stop this user from simply re-opening the dialog and removing the filter.
Passwords for the users are stored encrypted, but a clever person with a hex editor could remove the user accounts completely from the library.
The purpose of the feature is not about security. It is about hiding "noise" from users who don't need to see it (or shouldn't have it shoved in their faces). It is, as Matt put it originally, that:
The possibilities here are pretty endless, but our goals for MC19 are modest. I want a simple way to not see Curious George when I sit down at the couch. We're not trying to make everything in MC fully multi-user.
Adding Users
1. Add a new user via View > User > Add User
2. Give the user a name, and a password if you want.
Repeat the above to create additional users. You can add any number of users. For each user, you can optionally specify search criteria in order to hide items from that user (detailed below).
Choosing the Active User
Switch users in Standard View using the View > User menu item.
In Theater View, the User name will be shown in the Top Roller of your Views, and you can navigate to it and then choose the user you want to use.
If the user has a password, you will be prompted for it:
Media Network Users
If you are using Media Network features, any connected clients (whether connected copies of MC, JRemote, Gizmo, or whatever) will "open as" whichever User is currently active on the server when first launched. In other words, whichever User happened to have been "last used", on the server, becomes is the "network client user setting". So, if you want to keep a default of a particular one of your users (the Everyday one, for example) then you'll want to make sure to leave the server set on the Everyday user when you're done using it.
In connected copies of Media Center, however (the HTPC in the Living Room, for example) you are able to switch the active user to any of the other options (using the above explained methods). But when you close and re-open the client copy, it will revert back to whatever is currently active on the server. On JRemote I don't believe there is (currently) a mechanism to switch users, so you're stuck with the default. I'm not sure about Gizmo.
So what will often work best is if you have exactly this: An Everyday user (with no password) that you use regularly, and leave the Server set on (if using those features). And then you add a password to the Administrator account, and any other users you want restricted for some reason.
Automation
MC includes a MCC_SET_USER Core Command (22028) that can be used from the command line and from within scripts to switch select a specified user automatically.
To use this command, you can use the MC launcher from the command line with something like:
MC<version>.exe /MCC 22028,<nUserId>
To locate the nUserId for each user you've added to your system, open the user.jmd file in your Library in a text editor, and locate the UD for the user you'd like to use:
<tt> <XMLPH version="1.0"> <Item Name="WriteAccess">1</Item> <Item Name="ID">0</Item> <Item Name="VisibleFilesSearch"/> <Item Name="Password"></Item> <Item Name="DisplayName">Administrator</Item> </XMLPH><XMLPH version="1.0"> <Item Name="WriteAccess">1</Item> <Item Name="ID">1003</Item> <Item Name="VisibleFilesSearch">-[Media Sub Type]=[Adult]</Item> <Item Name="Password"></Item> <Item Name="DisplayName">Everyday</Item> </tt>
DO NOT MODIFY THIS FILE (doing so will damage the Library).