CORE Identity简化模式服务端配置帮助类
Core Identity简化(隐形)模式服务端在配置时,可以通过新增Identity配置帮助类来更加方便地管理相关对象和资源。以下是针对服务端的配置帮助类的具体实现。
新增Identity配置帮助类
在服务端中,我们可以新增一个名为IdentityConfig的配置帮助类,用于管理可访问的对象、客户端配置以及用户配置等信息。这样可以更好地组织和管理相关资源,提高代码的可读性和维护性。
```csharp
using System;
using ;
using ;
using ;
using ;
using ;
using ;
using IdentityServer4.Test;
namespace IdentityServerPeizhi
{
public class IdentityConfig
{
// 可访问的对象
public static IEnumerable
{
return new List
{
new ApiResource("apiServer", "apiServer")
};
}
// 客户端配置
public static IEnumerable
{
return new List
{
new Client
{
ClientId"clientId",
AllowedGrantTypes ,
ClientSecrets { new Secret("secret1122".Sha512()) },
AllowedScopes{ "apiServer" }
}
};
}
// 添加用户配置
public static List
{
return new List
{
new TestUser
{
SubjectId "111",
Username "test111",
Password "123456"
}
};
}
// 身份资源配置
public static IEnumerable
{
return new List
{
new (),
new (),
new ()
};
}
}
}
```
Startup.cs配置服务
在Startup.cs文件中,通过ConfigureServices方法配置Identity Server服务,包括添加IdentityServer、数据库上下文、用户存储等内容,以确保服务正常运行。
```csharp
public void ConfigureServices(IServiceCollection services)
{
()
.AddDeveloperSigningCredential()
.AddInMemoryClients(())
.AddInMemoryApiResources(())
.AddInMemoryIdentityResources(())
.AddTestUsers(());
(("DefaultConnection")));
.AddEntityFrameworkStores
.AddDefaultTokenProviders();
();
}
```
配置Startup.cs中的Configure方法
在Startup.cs文件的Configure方法中,配置应用程序的中间件,包括开发环境判断、异常处理、静态文件服务、Identity Server等内容,并设置路由规则以确保应用程序正常运行。
```csharp
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (())
{
();
();
();
}
else
{
("/Home/Error");
}
();
();
(routes >
{
(
name: "default",
template: "{controllerHome}/{actionIndex}/{id?}");
});
}
```
登录设置,过期时间等
在具体的登录控制器中,可以配置登录的验证逻辑,包括用户名密码验证、用户信息获取等操作,并设置过期时间等相关属性,以确保用户登录的安全性和有效性。
```csharp
public async Task
{
if (_("test111", "123456"))
{
var user _("test111");
var props new AuthenticationProperties
{
IsPersistent true,
ExpiresUtc ((30))
};
await (HttpContext, , , props);
}
return View(model);
}
```
通过以上的配置和实现,我们可以更好地管理Identity Server的相关资源和客户端配置,确保服务端的安全性和稳定性。同时,在登录设置中,可以控制登录的有效期和安全性,提升用户体验和系统安全性。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。