本篇开始进入重头戏,之前的几篇文章都是为了现在的功能作准备.前面教程已经讲到修改 User 表结构,接下来就需要修改注册逻辑代码.
注册页面
修改 Register.cshtml,备注如下代码:
文件路径:D:\abp version\aspnet-zero-3.4.0\aspnet-zero-3.4.0\src\MyCompanyName.AbpZeroTemplate.web\Views\Account\Register.cshtml
把 EmailAddress 输入框相关代码复制到 "帐号设置" 里面
@*<p class="hint">
@L("PersonalInformations")
</p>
<div class="form-group">
<label class="control-label visible-ie8 visible-ie9">@L("Name")</label>
<input class="form-control placeholder-no-fix" type="text" placeholder="@L("Name")" name="Name" required value="@Model.Name" maxlength="@MyCompanyName.AbpZeroTemplate.Authorization.Users.User.MaxNameLength" />
</div>
<div class="form-group">
<label class="control-label visible-ie8 visible-ie9">@L("Surname")</label>
<input class="form-control placeholder-no-fix" type="text" placeholder="@L("Surname")" name="Surname" required value="@Model.Surname" maxlength="@MyCompanyName.AbpZeroTemplate.Authorization.Users.User.MaxSurnameLength" />
</div>
<div class="form-group">
<label class="control-label visible-ie8 visible-ie9">@L("EmailAddress")</label>
<input class="form-control placeholder-no-fix" type="email" placeholder="@L("EmailAddress")" name="EmailAddress" required value="@Model.EmailAddress" maxlength="@MyCompanyName.AbpZeroTemplate.Authorization.Users.User.MaxEmailAddressLength" />
</div>*@
保存查看如下图所示
<div class="form-group">
<label class="control-label visible-ie8 visible-ie9">@L("EmailAddress")</label>
<input class="form-control placeholder-no-fix" type="email" placeholder="@L("EmailAddress")" name="EmailAddress" required value="@Model.EmailAddress" maxlength="@MyCompanyName.AbpZeroTemplate.Authorization.Users.User.MaxEmailAddressLength" />
</div>
修改 RegisterViewModel.cs,备注如下代码:
文件路径:D:\abp version\aspnet-zero-3.4.0\aspnet-zero-3.4.0\src\MyCompanyName.AbpZeroTemplate.Web\Models\Account\RegisterViewModel.cs
修改 AccountController.cs,备注如下代码:
//[Required]
//[StringLength(User.MaxNameLength)]
//public string Name { get; set; }
//[Required]
//[StringLength(User.MaxSurnameLength)]
//public string Surname { get; set; }
文件路径:D:\abp version\aspnet-zero-3.4.0\aspnet-zero-3.4.0\src\MyCompanyName.AbpZeroTemplate.Web\Controllers\AccountController.cs
403 行代码备注:
876 行代码备注:
var user = new User {
TenantId = tenant.Id,
//Name = model.Name,
//Surname = model.Surname,
EmailAddress = model.EmailAddress,
IsActive = isNewRegisteredUserActiveByDefault
};
AbpZeroTemplate-zh-CN.xml 文件添加如下键值对:
var viewModel = new RegisterViewModel {
TenancyName = tenancyName,
EmailAddress = loginInfo.Email,
//Name = name,
//Surname = surname,
IsExternalLogin = true
};
文件路径:D:\abp version\aspnet-zero-3.4.0\aspnet-zero-3.4.0\src\MyCompanyName.AbpZeroTemplate.Core\Localization\AbpZeroTemplate\AbpZeroTemplate-zh-CN.xml
<text name="EmailRegister" value="邮箱注册" />
Account\Register.cshtml,修改如下代码:
文件路径:D:\abp version\aspnet-zero-3.4.0\aspnet-zero-3.4.0\src\MyCompanyName.AbpZeroTemplate.Web\Views\Account\Register.cshtml
<h3>@L("EmailRegister")</h3>
生成项目,注册一个测试看效果
可以看到,注册成功,激活邮件也发过来了.接下来修改上面 2 个图的页面.
修改 RegisterResult.cshtml,备注以下代码:
文件路径:D:\abp version\aspnet-zero-3.4.0\aspnet-zero-3.4.0\src\MyCompanyName.AbpZeroTemplate.Web\Views\Account\RegisterResult.cshtml
修改 UserEmailer.cs,备注以下代码:
<ul>
@*<li><span class="text-muted">@L("NameSurname"):</span> @Model.NameAndSurname</li>
<li><span class="text-muted">@L("TenancyName"):</span> @Model.TenancyName</li>*@
<li><span class="text-muted">@L("UserName"):</span> @Model.UserName</li>
<li><span class="text-muted">@L("EmailAddress"):</span> @Model.EmailAddress</li>
</ul>
文件路径:D:\abp version\aspnet-zero-3.4.0\aspnet-zero-3.4.0\src\MyCompanyName.AbpZeroTemplate.Core\Authorization\Users\UserEmailer.cs
生成项目,数据库删除刚刚注册的帐号,重新注册,效果如下:
//mailMessage.AppendLine("<b>" + L("NameSurname") + "</b>: " + user.Name + " " + user.Surname + "<br />");
//if (!tenancyName.IsNullOrEmpty())
//{
// mailMessage.AppendLine("<b>" + L("TenancyName") + "</b>: " + tenancyName + "<br />");
//}
注:这里的域名端口在 web.config 文件修改,以后整合微信模块会说到这个配置,现在激活帐号,需要替换成自己配置在 IIS 的端口.
复制激活连接,把端口号改成自己在 IIS 配置的端口号,浏览器访问,出现如上图所示,说明帐号激活成功,可以正常登录.
可以看到,登录后什么菜单都没有,因为帐号注册默认是 User 角色,而我并没有给 User 角色授于任何权限.
至此,邮箱注册功能修改完成,下一篇加入手机注册功能.
返回总目录
来源: https://www.cnblogs.com/shensigzs/p/8289020.html