Anmelden

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

  • System.Web.Security.SqlMembershipProvider
  • System.Web.Security.ActiveDirectoryMembershipProvider

RoleProvider

RuleProvider

  • AuthorizationRuleProvider:
    • Speicherung der Rules erfolgt in Web.config
    • zur Bearbeitung kann ein Configuration Tool in der Enterprise Library verwendet werden
  • DbAuthorizationRuleProvider: DB
  • AzManAuthorizationProvider

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());

   
Top

Wir arbeiten mit Software von http://www.campus21.de.

Verantwortlich für angezeigte Daten ist der Webdomain-Eigentümer laut Impressum.

Suche