Вы не можете использовать создание входа с переменными. Вы должны создать инструкцию динамически или использовать sp_addlogin. Согласно http://msdn.microsoft.com/en-us/library/ms173768.aspx sp_addlogin устарел.
declare @UN sysname
declare @PW sysname
declare @S nvarchar(100)
set @UN = 'UserName'
set @PW = 'Password'
set @S = 'CREATE LOGIN ' + quotename(@UN) + ' WITH PASSWORD = ' + quotename(@PW, '''')
exec (@S)
Чтобы отключить определенный маршрут для Razor Page
, вы можете попробовать IAsyncPageFilter
.
public class DisableIdentityAsyncPageFilter : IAsyncPageFilter
{
public DisableIdentityAsyncPageFilter()
{
}
public async Task OnPageHandlerSelectionAsync(
PageHandlerSelectedContext context)
{
await Task.CompletedTask;
}
public async Task OnPageHandlerExecutionAsync(
PageHandlerExecutingContext context,
PageHandlerExecutionDelegate next)
{
if (context.HttpContext.Request.Path.StartsWithSegments("/Identity") &&
!context.HttpContext.Request.Path.StartsWithSegments("/Identity/Account/Login"))
{
context.Result = new StatusCodeResult(404);
}
else
{
await next.Invoke();
}
}
}
А затем настройте в Startup.cs
services.AddMvc(options => {
options.Filters.Add(typeof(DisableIdentityAsyncPageFilter));
}).SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
То, на что вы ссылаетесь, это интерфейс пользователя по умолчанию. Он включается всякий раз, когда вы регистрируете Identity с помощью services.AddDefaultIdentity
или явно вызываете AddDefaultUI
при регистрации через другие IServiceCollection
добавочные номера (AddIdentity
/ AddIdentityCore
). Вы не можете выбрать или выбрать то, что будет или не будет включено в пользовательский интерфейс по умолчанию, поэтому, если вы не хотите его часть, вы не можете использовать его вообще. Поэтому вместо этого измените строку services.AddDefaultIdentity
на services.AddIdentity
.
Когда все будет готово, вы можете использовать платформу Identity для включения определенных частей пользовательского интерфейса по умолчанию в ваше приложение. Щелкните правой кнопкой мыши по вашему проекту и выберите Add
> New Scaffolded Item...
. Затем выберите Identity
слева и OK
, чтобы использовать единственный доступный каркас идентификации. В появившемся окне вы можете проверить страницы, которые вы хотите включить, а затем снова щелкнуть OK
.