修改BUG:注册新用户后台代码错误,重写逻辑
This commit is contained in:
parent
fc461746a0
commit
ea2b423995
|
@ -3,6 +3,7 @@ using Longbow.Web.SignalR;
|
||||||
using Microsoft.AspNetCore.Authorization;
|
using Microsoft.AspNetCore.Authorization;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using Microsoft.AspNetCore.SignalR;
|
using Microsoft.AspNetCore.SignalR;
|
||||||
|
using System;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
@ -13,7 +14,8 @@ namespace Bootstrap.Admin.Controllers.Api
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[AllowAnonymous]
|
[AllowAnonymous]
|
||||||
[Route("api/[controller]")]
|
[Route("api/[controller]")]
|
||||||
public class RegisterController : Controller
|
[ApiController]
|
||||||
|
public class RegisterController : ControllerBase
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 登录页面注册新用户remote validate调用
|
/// 登录页面注册新用户remote validate调用
|
||||||
|
|
|
@ -3,6 +3,7 @@ using Bootstrap.DataAccess;
|
||||||
using Longbow.Web.Mvc;
|
using Longbow.Web.Mvc;
|
||||||
using Microsoft.AspNetCore.Authorization;
|
using Microsoft.AspNetCore.Authorization;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
|
||||||
|
@ -84,6 +85,7 @@ namespace Bootstrap.Admin.Controllers.Api
|
||||||
{
|
{
|
||||||
value.Description = string.Format("管理员{0}创建用户", User.Identity.Name);
|
value.Description = string.Format("管理员{0}创建用户", User.Identity.Name);
|
||||||
value.ApprovedBy = User.Identity.Name;
|
value.ApprovedBy = User.Identity.Name;
|
||||||
|
value.ApprovedTime = DateTime.Now;
|
||||||
ret = UserHelper.SaveUser(value);
|
ret = UserHelper.SaveUser(value);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
@ -26,8 +26,8 @@
|
||||||
<script src="~/lib/validate/jquery.validate.min.js"></script>
|
<script src="~/lib/validate/jquery.validate.min.js"></script>
|
||||||
<script src="~/lib/validate/localization/messages_zh.min.js"></script>
|
<script src="~/lib/validate/localization/messages_zh.min.js"></script>
|
||||||
</environment>
|
</environment>
|
||||||
<script src="~/js/longbow.dataentity.js" asp-append-version="true"></script>
|
<script src="~/lib/longbow/longbow.dataentity.js" asp-append-version="true"></script>
|
||||||
<script src="~/js/longbow.validate.js" asp-append-version="true"></script>
|
<script src="~/lib/longbow/longbow.validate.js" asp-append-version="true"></script>
|
||||||
<script src="~/js/profiles.js" asp-append-version="true"></script>
|
<script src="~/js/profiles.js" asp-append-version="true"></script>
|
||||||
}
|
}
|
||||||
<div class="card">
|
<div class="card">
|
||||||
|
|
|
@ -213,27 +213,32 @@ namespace Bootstrap.DataAccess
|
||||||
p.PassSalt = LgbCryptography.GenerateSalt();
|
p.PassSalt = LgbCryptography.GenerateSalt();
|
||||||
p.Password = LgbCryptography.ComputeHash(p.Password, p.PassSalt);
|
p.Password = LgbCryptography.ComputeHash(p.Password, p.PassSalt);
|
||||||
|
|
||||||
using (TransactionPackage transaction = DbAccessManager.DBAccess.BeginTransaction())
|
var db = DbAccessManager.DBAccess;
|
||||||
|
using (TransactionPackage transaction = db.BeginTransaction())
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
using (DbCommand cmd = DbAccessManager.DBAccess.CreateCommand(CommandType.Text, "select UserName from Users Where UserName = @userName"))
|
using (DbCommand cmd = db.CreateCommand(CommandType.Text, "select UserName from Users Where UserName = @userName"))
|
||||||
{
|
{
|
||||||
cmd.Parameters.Add(DbAccessManager.DBAccess.CreateParameter("@userName", p.UserName));
|
cmd.Parameters.Add(db.CreateParameter("@userName", p.UserName));
|
||||||
var un = DbAccessManager.DBAccess.ExecuteScalar(cmd, transaction);
|
var un = db.ExecuteScalar(cmd, transaction);
|
||||||
if (DbAdapterManager.ToObjectValue(un) == null)
|
if (DbAdapterManager.ToObjectValue(un) == null)
|
||||||
{
|
{
|
||||||
cmd.CommandText = "Insert Into Users (UserName, Password, PassSalt, DisplayName, RegisterTime, ApprovedBy, ApprovedTime, Description) values (@userName, @password, @passSalt, @displayName, datetime('now', 'localtime'), @approvedBy, now(), @description)";
|
object approveTime = DBNull.Value;
|
||||||
cmd.Parameters.Add(DbAccessManager.DBAccess.CreateParameter("@password", p.Password));
|
if (p.ApprovedTime != DateTime.MinValue) approveTime = p.ApprovedTime;
|
||||||
cmd.Parameters.Add(DbAccessManager.DBAccess.CreateParameter("@passSalt", p.PassSalt));
|
cmd.CommandText = "Insert Into Users (UserName, Password, PassSalt, DisplayName, RegisterTime, ApprovedBy, ApprovedTime, Description) values (@userName, @password, @passSalt, @displayName, @registerTime, @approvedBy, @approveTime, @description)";
|
||||||
cmd.Parameters.Add(DbAccessManager.DBAccess.CreateParameter("@displayName", p.DisplayName));
|
cmd.Parameters.Add(db.CreateParameter("@password", p.Password));
|
||||||
cmd.Parameters.Add(DbAccessManager.DBAccess.CreateParameter("@approvedBy", DbAdapterManager.ToDBValue(p.ApprovedBy)));
|
cmd.Parameters.Add(db.CreateParameter("@passSalt", p.PassSalt));
|
||||||
cmd.Parameters.Add(DbAccessManager.DBAccess.CreateParameter("@description", p.Description));
|
cmd.Parameters.Add(db.CreateParameter("@registerTime", DateTime.Now));
|
||||||
DbAccessManager.DBAccess.ExecuteNonQuery(cmd, transaction);
|
cmd.Parameters.Add(db.CreateParameter("@displayName", p.DisplayName));
|
||||||
|
cmd.Parameters.Add(db.CreateParameter("@approvedBy", DbAdapterManager.ToDBValue(p.ApprovedBy)));
|
||||||
|
cmd.Parameters.Add(db.CreateParameter("@approveTime", approveTime));
|
||||||
|
cmd.Parameters.Add(db.CreateParameter("@description", p.Description));
|
||||||
|
db.ExecuteNonQuery(cmd, transaction);
|
||||||
|
|
||||||
cmd.CommandText = $"insert into UserRole (UserID, RoleID) select ID, (select ID from Roles where RoleName = 'Default') RoleId from Users where UserName = '{p.UserName}'";
|
cmd.CommandText = $"insert into UserRole (UserID, RoleID) select ID, (select ID from Roles where RoleName = 'Default') RoleId from Users where UserName = '{p.UserName}'";
|
||||||
cmd.Parameters.Clear();
|
cmd.Parameters.Clear();
|
||||||
DbAccessManager.DBAccess.ExecuteNonQuery(cmd, transaction);
|
db.ExecuteNonQuery(cmd, transaction);
|
||||||
|
|
||||||
transaction.CommitTransaction();
|
transaction.CommitTransaction();
|
||||||
ret = true;
|
ret = true;
|
||||||
|
|
Loading…
Reference in New Issue