我有一個ASP.NET MVC 4 Web應用程序,我在後端(https://www.parse.com/)和C#中使用Parse作爲數據庫作爲編程語言。解析數據庫授權 - 用戶對象的安全
我用ParseUser類登錄註冊用戶(https://www.parse.com/docs/dotnet_guide#users-login)是這樣的:
ParseUser.LogInAsync("my_username", "my_password");
然後我創建了一個自定義的授權屬性,我將其應用於一些控制器和我的項目的操作方法。
public class AuthorizeParseUserAttribute : AuthorizeAttribute
{
protected override bool AuthorizeCore(HttpContextBase httpContext)
{
if (ParseUser.CurrentUser != null && ParseUser.CurrentUser.IsAuthenticated)
{
return true;
}
return false;
}
}
這是解析對CurrentUser屬性https://www.parse.com/docs/dotnet_guide#users-current
所以,我有以下問題的文件:我成功地登錄使用我的憑據。登錄後,我進入我的應用程序的主頁面(AuthorizeParseUserAttribute已應用於相應的操作方法)。然後我發送這個主頁的URL到另一個人,在另一臺計算機和用戶(甚至不是註冊用戶)可以看到我的應用程序的主頁,並用我的憑據登錄!解析用戶對象安全性的文檔如下https://www.parse.com/docs/dotnet_guide#users-security
您能否提出任何解決方案來解決這個非常嚴重的問題?謝謝。
您的屬性只返回false,你應該不會將用戶重定向到任何一個未經授權HTTP響應,或登錄頁面?在你的控制器剛剛去,是的,這是錯誤的,進行 – davethecoder
@davethecoder當這個屬性返回false然後用戶被重定向到登錄頁面自動,如果這是在web.config中指定。問題是,當我沒有註銷時,ParseUser.CurrentUser.IsAuthenticated在每個客戶端的非認證用戶都返回true。 –