我创建了一个新的AspNet .Core + Vue.js应用程序(使用this template)。
我使用OAuth2&包含在AspNet核心中的身份验证系统(通过Patreon),当我禁用Vue应用程序(删除boot.ts的内容)时,一切正常,我的用户是正确的,即使在控制器中也是如此。
但是一旦Vue.js被激活,就会出现黑魔法:
我的剃刀页面中使用的代码,它始终有效:
user_answer!=int(user_answer)
我的控制器:
@if (User?.Identity?.IsAuthenticated ?? false)
{
<div id='app-root'>Loading...</div>
<a class="btn btn-lg btn-danger" href="/logout">Sign out</a>
}
else
{
<h1>Welcome, anonymous</h1>
<a class="btn btn-lg btn-success" href="/login">Sign in</a>
}
我的Vue.js路线:
public IEnumerable<WeatherForecast> WeatherForecasts() {
[...]
var data = User; //User without data when the Vue app is activated
[...]
}
然后,完成我的Startup.cs示例:
const routes = [
{ path: '/', component: require('./components/home/home.vue.html') },
{ path: '/counter', component: require('./components/counter/counter.vue.html') },
{ path: '/fetchdata', component: require('./components/fetchdata/fetchdata.vue.html') }
];
我不习惯处理身份验证,而且我是Vue.js的新手,所以我当然在某个地方犯了错误。
有人有想法吗?
答案 0 :(得分:0)
我的不好,反应很明显:在vue应用程序中,我使用简单的获取方法调用我的api ..... 而不发送Asp身份验证cookie 。
所以现在看起来像这样:
fetch('/api[...]', { credentials: "same-origin"})
主题已关闭。