本节将通过对“2019-11-05_MyNopCommerce_VS19Core2.2Nop4.20(不删,013_重构DependencyRegistrar))”程序进行重构,从而来实现授权功能。
- 添加如图中所选择类的定义:
- 添加Nop.Services.Common.NopCommonDefaults定义。
- 重构WebHelper和IWebHelper添加GetThisPageUrl方法的声明和定义。
- 重构Nop.Web.Framework.Infrastructure.Extensions.ApplicationBuilderExtensions定义, 添加UseKeepAlive(this IApplicationBuilder application)和public static void UseNopAuthentication(this IApplicationBuilder application)方法的定义。
- 重构Nop.Web.Framework.Infrastructure.AuthenticationStartup定义, 在public void Configure(IApplicationBuilder application)方法中添加语句:
//配置身份验证。
application.UseNopAuthentication();
- 并按F5可以发现网页可以正常启动。
- 重构Nop.Web.Framework.Infrastructure.NopCommonStartup定义, 在public void Configure(IApplicationBuilder application)方法中添加语句:
//使用http会话(Session)
application.UseSession();
- 并按F5可以发现网页不能正常启动,会出现Session未注册异常。
- 重构Nop.Web.Framework.Infrastructure.Extensions.ServiceCollectionExtensions类,在此类中添加方法public static void AddHttpSession(this IServiceCollection services)
- 重构Nop.Web.Framework.Infrastructure.NopCommonStartup定义, 在public void ConfigureServices(IServiceCollection services, IConfiguration configuration)方法中添加语句:
//添加HTTP会话(Session)状态功能。
services.AddHttpSession();
- 按F5可以发现网页能正常启动了,第8步的异常已经解决。
- 详细的信息请见我所上传代码“2019-11-05_MyNopCommerce_VS19Core2.2Nop4.20(不删,014_添加一些中间件的定义)。(https://download.csdn.net/download/zhoujian_911/11958595)”