Dotnetnuke là một frameword asp.net khá mạnh hiện nay, Nó cung cấp miễn
phí cho người dùng và hổ trợ khá nhiều các module. Điểm khá hay của nó
là hổ trợ theo cơ chế cổng thông tin (nhiều portal). Có nghĩa 1 cổng
thông tin thì sẽ có nhiều cổng con, chung 1 database, giúp người dùng có
thể tạo ra một cách nhanh chóng một hệ thống website khác một cách
nhanh lẹ.
Tuy nhiên việc chuyển đổi user giữa các portal khá khó khăn, và phải
làm bằng thủ công. Hôm may mình sẽ hướng dẫn các bạn cách viết 1 tool để
hổ trợ việc chuyển đổi qua lại giữa các portal.
Các table được sử dụng:
Hàm load các portal:
Hàm load User của portal:
void LoadUser()
{
int pPor = Convert.ToInt32(drpAllPortal.SelectedValue);
var objUser = (from p in context.dnn_Users
join c in context.dnn_UserPortals on p.UserID equals c.UserId
where p.UserID != 1 && ((c.PortalId == pPor && c.Authorised == true) || pPor == -1)
orderby p.UserID ascending
select new
{
USER_ID = c.UserId,
USER_NAME = p.Username + " - " + p.DisplayName
}).Distinct().ToList();
lstUser1.DataSource = objUser;
lstUser1.DataTextField = "USER_NAME";
lstUser1.DataValueField = "USER_ID";
lstUser1.DataBind();
lblTotalUser.Text = "Tổng User trên hệ thống website là:" + objUser.Count;
}
Hàm cập nhật chuyển User:
Và cuối cùng là thành quả:
Như vậy là chúng ta có một tool chuyển user trên các portal.
Chúc các bạn thành công!