我希望我的Asp.net core应用仅能配置为使用外部提供者,比如仅限于Facebook。换句话说,我不想让用户有创建带密码等本地账户的能力。
我应该如何修改Visual Studio生成的默认Asp.net core个人账户模板,以安全地删除创建本地用户账户的功能?
谢谢。
我应该如何修改Visual Studio生成的默认Asp.net core个人账户模板,以安全地删除创建本地用户账户的功能?
谢谢。
我正在使用.UseRewriter()
中间件,使我能够重定向到/Error
页面,以处理不适用于我的应用程序的Identity
页面(我只允许Github身份验证而不允许本地注册)
public static class IisRewriterConfigurationExtensions
{
public static IApplicationBuilder UseIisRewriter(this IApplicationBuilder applicationBuilder)
{
using (var iisUrlRewriteStreamReader = File.OpenText("iis-application-route-rewrites.xml"))
{
var options = new RewriteOptions()
.AddIISUrlRewrite(iisUrlRewriteStreamReader);
applicationBuilder.UseRewriter(options);
}
return applicationBuilder;
}
}
然后我在Startup.Configure()
中调用app.UseIisRewriter();
。
我的iis-application-route-rewrites.xml
文件看起来像这样
<?xml version="1.0" encoding="utf-8" ?>
<rewrite>
<rules>
<rule name="Redirect from Identity Forgot Password">
<match url="^Identity/Account/ForgotPassword" />
<action type="Redirect" url="Error?id=404" redirectType="Permanent" />
</rule>
<rule name="Redirect from Identity Reset Password">
<match url="^Identity/Account/ResetPasswordConfirmation" />
<action type="Redirect" url="Error?id=404" redirectType="Permanent" />
</rule>
<!-- More rules -->
</rules>
</rewrites>
Login.cshtml.cs
文件中,我删除了所有不再希望用户访问的请求处理程序。