asp.net - SSO - Share single User table between several websites or somehow keep multiple User tables in sync? -
i'm working on single sign-on solution 2 asp.net mvc3 websites. sites on separate subdomains. i'm using forms authentication , far working well. when sign a.example.com i'm automatically signed in b.example.com too. nice.
each application has own database.
my question - if want keep user information in sync between 2 sites (say last activity date or user preference) should have user table in both databases , somehow keep them in sync or should a.example.com's database have user table , b.example.com somehow reads , writes it?
thanks advice.
edit: adam i'm leaning towards storing user data in separate database. pass authenticated user's username , id each application in authentication cookie. can offer advice around maintaining referential integrity between 2 databases?
most sso solutions i've seen have central accounts
portal users can maintain settings, change email address etc.
think google:
- google.com/reader
- google.com/analytics
- google.com/accounts
this represents single user store, providing authentication several sites. has various benefits, such single place store session hashes , other security details (for preventing things man-in-the-middle attacks).
in true sso, authentication request redirects central auth system (ie google.com/accounts), authenticates , redirects service requested authentication.
from description, sounds have separate authentication each site/service, user db shared.
Comments
Post a Comment