ASP.NET Core 2 - Как удалить строительные леса?

Вы не можете использовать создание входа с переменными. Вы должны создать инструкцию динамически или использовать 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)

1
задан Chris Barr 17 January 2019 в 17:34
поделиться

2 ответа

Чтобы отключить определенный маршрут для 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);
0
ответ дан Tao Zhou 17 January 2019 в 17:34
поделиться

То, на что вы ссылаетесь, это интерфейс пользователя по умолчанию. Он включается всякий раз, когда вы регистрируете Identity с помощью services.AddDefaultIdentity или явно вызываете AddDefaultUI при регистрации через другие IServiceCollection добавочные номера (AddIdentity / AddIdentityCore). Вы не можете выбрать или выбрать то, что будет или не будет включено в пользовательский интерфейс по умолчанию, поэтому, если вы не хотите его часть, вы не можете использовать его вообще. Поэтому вместо этого измените строку services.AddDefaultIdentity на services.AddIdentity.

Когда все будет готово, вы можете использовать платформу Identity для включения определенных частей пользовательского интерфейса по умолчанию в ваше приложение. Щелкните правой кнопкой мыши по вашему проекту и выберите Add> New Scaffolded Item.... Затем выберите Identity слева и OK, чтобы использовать единственный доступный каркас идентификации. В появившемся окне вы можете проверить страницы, которые вы хотите включить, а затем снова щелкнуть OK.

0
ответ дан Chris Pratt 17 January 2019 в 17:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: