Sicherheitsmodell bei CompositeWeb
| User | User-Role | Role | Role-Action | Action |
---|---|---|---|---|---|
| Verwaltung der Logins | Mitgliedschaft in Rollen | Rollen | Berechtigungen von Rollen | Aktionen (Berechtigungen) |
Daten | SQL oder LDAP | SQL oder LDAP | SQL oder LDAP | Web.Config | Module.cs |
Provider | MembershipProvider | RoleProvider | RoleProvider | RuleProvider |
|
Config |
|
|
|
|
|
Code | Membership | Roles | Roles, RolesCatalog | AuthorizationService | PermissionCatalog |
AuthorizationService
Ist der zentrale Abfragepunkt für Autorisierungen. Dient in CompositeWeb zur Ermittlung der Berechtigung eines Nutzers zu einer Action. Um die Autorisierung festzustellen werden durch den AutorisationService der MembershipProvider (Authentikation), der RoleProvider (Rollenangehörigkeit des Nutzers) und der RuleProvider (Rollen-Permissions) benötigt. Diese werden über Web.config konfiguriert.
|
|
---|---|
Membership-Provider | Regelt die Nutzerauthentikation sowie die Account- und Nutzerverwaltung
|
RoleProvider |
|
RuleProvider |
|
Abruf | IAuthorizationService authorizationService = application.RootContainer.Services.Get< IAuthorizationService>(); Response.Write(authorizationService.IsAuthorized("ViewRolePermissions").ToString()); |
SiteMap:
- In der Implementierung der ModulBase wird die SiteMap aufgebaut und einer Seite kann eine Permission (Action) zugewiesen werden. Dies hat den Effekt, dass die Seite abhängig von der Autorisierung in der SiteMap angezeugt wird oder nicht.
Namespaces:
- Microsoft.Practices.EnterpriseLibrary.Security.AuthorizationRuleProvider
Links:
PermissionsCatalog
Ist ein eigenes Konzept von CompositeWeb zur Verwaltung von Modulen und deren Aktionen. In dem PermissionCatalog
|
---|
IWebClientApplication application = HttpContext.Current.ApplicationInstance as IWebClientApplication; IPermissionsCatalog permissionsCatalog = application.RootContainer.Services.Get< IPermissionsCatalog>(); Response.Write(permissionsCatalog.RegisteredPermissions.Count.ToString()); |
Wir arbeiten mit Software von http://www.campus21.de.
Verantwortlich für angezeigte Daten ist der Webdomain-Eigentümer laut Impressum.