簡體   English   中英

ASP.NET MVC 4多租戶

[英]ASP.NET MVC 4 multi tenancy

在ASP.NET MVC 4中,我看到有[Authorize]屬性,現在有一個對應的[AllowAnonymous]屬性,可以輕松地要求您進行身份驗證以訪問特定的控制器操作。

我需要的是真正的多租戶。 每個用戶只能訪問自己的記錄,除用戶帳戶外的所有記錄應歸單個用戶所有。

在作為Rails插件的Hobo(http://hobocentral.net)中,可以通過在我的ApplicationController中添加以下代碼行來輕松實現此目的:

before_filter :login_required, :except => [:login, :signup, :do_signup, :activate]

然后在我的模型中:

belongs_to :owner, :class_name => "User", :creator => true

# --- Permissions --- #

def create_permitted?
  acting_user == owner || !owner_changed?
end

def update_permitted?
  acting_user == owner || !owner_changed?
end

def destroy_permitted?
  acting_user == owner || !owner_changed?
end

def view_permitted?(field)
  owner_is? acting_user or new_record?
end

最后在我模型的控制器中:

def index
  hobo_index current_user.modelName
end

ASP.NET MVC是否存在如此簡單而精致的功能? 到目前為止,我已經找到了幾種在ASP.NET MVC中實現多租戶的方法,但是我不確定哪種方法是正確的。 如果有幫助,我也打算使用.NET 4.5和Entity Framework 5。

如果您在asp.net MVC中使用任何類型的內置身份驗證,那么它已經存在,您可以使用類似

HttpContext.Current.User.Identity.Name

如果您不使用某種內部身份驗證機制,則可以執行身份驗證時將用戶將主鍵保存在session變量中的簡單操作。

Session["User"] = Key;

然后在每個控制器內部取出變量

var key = Session["User"];

並根據密鑰檢索用戶數據

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM