认证 & 授权

优质
小牛编辑
143浏览
2023-12-01

Serenity 使用一些抽象(abstractions)来与你的应用程序自身的用户身份验证和授权机制一起工作。

  1. Serenity.Abstractions.IAuthenticationService
  2. Serenity.Abstractions.IAuthorizationService
  3. Serenity.Abstractions.IPermissionService
  4. Serenity.Abstractions.IUserRetrieveService

由于 Serenity 没有为这三个抽象提供默认实现,你应该使用依赖注册系统为它们提供一些实现。

例如,Serenity 基本应用程序示例在其 SiteInitialization.ApplicationStart 方法注册权限,如:

  1. var registrar = Dependency.Resolve<IDependencyRegistrar>();
  2. registrar.RegisterInstance<IAuthorizationService>(
  3. new Administration.AuthorizationService());
  4. registrar.RegisterInstance<IAuthenticationService>(
  5. new Administration.AuthenticationService());
  6. registrar.RegisterInstance<IPermissionService>(
  7. new Administration.PermissionService());
  8. registrar.RegisterInstance<IUserRetrieveService>(
  9. new Administration.UserRetrieveService());

在编写你自己的权限之前,你可能需要看看这些示例的实现。