Wednesday 15 January 2014

c# - Getting Role Manager to work with an existing database -



c# - Getting Role Manager to work with an existing database -

i'm using asp.net mvc entity framework , i'm trying figure out how role manager working. after registered user, triggering ef build user management / identity tables, ended moving them (aspnetusers, aspnetroles, aspnetuserroles, aspnetuserclaims, , aspnetuserlogins) on existing database , setting default connection point there well. fine , dandy until decided needed implement role manager , after adding next entry web.config,

<rolemanager enabled="true" defaultprovider="rolemanager"> <providers> <add name="rolemanager" type="system.web.security.sqlroleprovider" connectionstringname="defaultconnection" applicationname="myapp" /> </providers> </rolemanager>

and attempting create role (roles.createrole("admin") [side question, there way outside of code in vs 2013?]), faced error: could not find stored procedure 'dbo.aspnet_checkschemaversion'. naturally assumed tables not database objects generated, after checking out original mdf, turns out indeed, that's there was. i'm @ finish loss @ point , help appreciated.

update: i've looked solutions related using aspnet_reqsql tool add together role manager functionality, tables generates seem incompatible. e.g., dbo.aspnet_users instead of dbo.aspnetusers.

it seems tables aspnetusers, aspnetroles, aspnetuserroles, aspnetuserclaims, , aspnetuserlogins part of newer asp.net identity system, whereas aspnet_users, etc. part of old scheme (membership believe). roles.createrole membership, not identity. identity system, rolemanager web.config entry unecessary, , role created using microsoft.aspnet.identity.rolemanager. e.g.,

rolemanager = new rolemanager<identityrole>(new rolestore<identityrole>(new mydbcontext())); var roleresult = rolemanager.create(new identityrole(rolename));

c# asp.net sql-server entity-framework asp.net-identity

No comments:

Post a Comment