【发布时间】:2019-12-11 09:51:04
【问题描述】:
应用在 ASP.NET Core 上,我们最近迁移到 3.0。
我需要导航到 mycontroller/login,所以登录操作而不是默认的索引操作,但很难更改默认的控制器操作方法。 我一直在获取我的索引页面,只有当我手动导航到 /login 时,我才会得到该页面。 另外,作为惯例,我需要保留属性路由。
[Route("/mycontroller")]
public class MyController : Controller
{
private readonly IAuthenticationService _authenticationService;
public MyController(IAuthenticationService authenticationService)
{
_authenticationService = authenticationService;
}
[Route("login")]
[HttpPost("login")]
[AllowAnonymous]
public async Task<IActionResult> Login(LoginViewModel model)
{
if (ModelState.IsValid)
{
try
{
var user = await _authenticationService.PerformCheckAndLogin(model.UserName, model.Password);
if (user != null)
{
var userClaims = new List<Claim>
在我尝试过的配置方法中:
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute("default", "{controller=mycontroller}/{action=login}");
});
【问题讨论】:
-
尝试使用
app.UseEndpoints(endpoints => { endpoints.MapControllers(); }); -
@picolino 我已经试过了,同样的。
-
您的意思是在继续
mycontroller时要导航到mycontroller/login? -
是的,没错
标签: c# asp.net-core routing asp.net-mvc-routing