如何从.NetCore等CAS中获取用户属性,如电子邮件和其他

时间:2019-10-11 14:22:04

标签: for-loop asp.net-core cas

嗨,我在我的应用程序(.Net Core2.2)中使用CAS进行单点登录。我可以用CAS登录,但仅获得用户名,而没有从CAS获得电子邮件或任何其他属性。

在CAS端进行身份验证时,我使用AspNetCore.Security.CAS Nuget Pacakage,并在下面的Startup.cs文件中配置了代码。

在启动公司的ConfigureServices方法中:

services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)

.AddCookie(options => {
    options.LoginPath = new PathString("/login");
})

.AddCAS(options =>
{
    options.CasServerUrlBase = Configuration["CasBaseUrl"];   
    options.SignInScheme = CookieAuthenticationDefaults.AuthenticationScheme;
});

在UseMvc之前的启动公司的Configure方法中:

app.UseAuthentication();

在我的控制器中

[AllowAnonymous]
[Route("login")]
public async Task Login(string returnUrl)
{
    var props = new AuthenticationProperties { RedirectUri = returnUrl };

    await HttpContext.ChallengeAsync("CAS", props);
}

在上下文中,我可以从context.Principal.Identity.Name获取用户名,但无法找到其他属性信息。为此请帮我。

0 个答案:

没有答案