Diễn đàn
Các Projects Dotnetnuke (DNN)
dotnetnuke login như thế nào? Ko ai tìm thấy code login của DNN (vì nó do Microsoft viết)
 | Thành viên | Nội dung | tieuphu
 Thống chế Erich von Manstein 44 bài
| Kỳ quặc cực kỳ luôn.
Chúng ta đăng nhập username và password, hệ thống sẽ thực hiện như sau:
AspNetMembershipProvider (DNN)
System.Web.Security.Membership.ValidateUser(username, password); (MS)
System.Web.Security.MembershipProvider.ValidateUser(username, password); (MS)
System.Web.Security.SqlMembershipProvider.GetPasswordWithFormat(username, password) (MS)
trong thằng cuối cùng nó gọi stored procedure
SqlCommand command = new SqlCommand("dbo.aspnet_Membership_GetPasswordWithFormat", connection.Connection); command.CommandTimeout = this.CommandTimeout; command.CommandType = CommandType.StoredProcedure; command.Parameters.Add(this.CreateInputParam("@ApplicationName", SqlDbType.NVarChar, this.ApplicationName)); command.Parameters.Add(this.CreateInputParam("@UserName", SqlDbType.NVarChar, username)); command.Parameters.Add(this.CreateInputParam("@UpdateLastLoginActivityDate", SqlDbType.Bit, updateLastLoginActivityDate)); command.Parameters.Add(this.CreateInputParam("@CurrentTimeUtc", SqlDbType.DateTime, DateTime.UtcNow)); parameter = new SqlParameter("@ReturnValue", SqlDbType.Int);
Kỳ lạ là làm sao code của MS, mà thằng DNN biết tất cả những cái đó và viết 1 cái stored có tên như vậy trong DB của mình.
Nó như sau:
------------------------------ CREATE PROCEDURE dbo.aspnet_Membership_GetPasswordWithFormat @ApplicationName nvarchar(256), @UserName nvarchar(256), @UpdateLastLoginActivityDate bit, @CurrentTimeUtc datetime AS BEGIN DECLARE @IsLockedOut bit DECLARE @UserId uniqueidentifier DECLARE @Password nvarchar(128) DECLARE @PasswordSalt nvarchar(128) DECLARE @PasswordFormat int DECLARE @FailedPasswordAttemptCount int DECLARE @FailedPasswordAnswerAttemptCount int DECLARE @IsApproved bit DECLARE @LastActivityDate datetime DECLARE @LastLoginDate datetime
SELECT @UserId = NULL
SELECT @UserId = u.UserId, @IsLockedOut = m.IsLockedOut, @Password=Password, @PasswordFormat=PasswordFormat, @PasswordSalt=PasswordSalt, @FailedPasswordAttemptCount=FailedPasswordAttemptCount, @FailedPasswordAnswerAttemptCount=FailedPasswordAnswerAttemptCount, @IsApproved=IsApproved, @LastActivityDate = LastActivityDate, @LastLoginDate = LastLoginDate FROM dbo.aspnet_Applications a, dbo.aspnet_Users u, dbo.aspnet_Membership m WHERE LOWER(@ApplicationName) = a.LoweredApplicationName AND u.ApplicationId = a.ApplicationId AND u.UserId = m.UserId AND LOWER(@UserName) = u.LoweredUserName
IF (@UserId IS NULL) RETURN 1
IF (@IsLockedOut = 1) RETURN 99
SELECT @Password, @PasswordFormat, @PasswordSalt, @FailedPasswordAttemptCount, @FailedPasswordAnswerAttemptCount, @IsApproved, @LastLoginDate, @LastActivityDate
IF (@UpdateLastLoginActivityDate = 1 AND @IsApproved = 1) BEGIN UPDATE dbo.aspnet_Membership SET LastLoginDate = @CurrentTimeUtc WHERE UserId = @UserId
UPDATE dbo.aspnet_Users SET LastActivityDate = @CurrentTimeUtc WHERE @UserId = UserId END
RETURN 0 END
GO -----------------------------
| tieuphu
 Thống chế Erich von Manstein 44 bài
| Điều buồn cười nhất đó là :
lấy data từ giao diện xuống là nhiệm vụ DNN, truyền param vào câu Query để đọc trong DB ra và so sánh lại là của Microsoft (MS) thực hiện.
Thế mới kỳ chứ, bình thường nếu là SP chúng ta viết từ đầu thì mấy cái dòng lệnh đọc từ DB ra rồi so sánh có phải khó khăn gì lắm đâu mà 2 chú DNN và MS phải Provider này nọ lòng vòng nhiều thế không biết.
Toàn bộ tài liệu mô tả chi tiết về
Membership Providers
tại đây:
http://msdn.microsoft.com/en-us/library/aa478949.aspx
Cho nên bất cứ ai muốn đọc code DNN tìm ra xem chỗ nào là chỗ check user login thì sẽ không tìm thấy đâu vì đó là do microsoft viết chứ không phải DNN
--- Miệt mài, miệt mài ... http://awas.vn
| tieuphu
 Thống chế Erich von Manstein 44 bài
| Đây là bài hướng dẫn
http://www.codeproject.com/KB/aspnet/ASPNET_Membership_1.aspx
Nhưng mà làm đúng như họ bảo thì sẽ bị lỗi sau
Could not find stored procedure 'dbo.aspnet_CheckSchemaVersion'.
Để sửa lỗi này vào thư mục
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
xem các file .sql mà run là OK
InstallCommon.sql InstallMembership.sql InstallPersistSqlState.sql InstallPersonalization.sql InstallProfile.SQL InstallRoles.sql InstallSqlState.sql InstallSqlStateTemplate.sql InstallWebEventSqlProvider.sql
Nhưng mà túm lại 1 câu để được sướng phức tạp quá, tự viết code cho nó khỏe, khỏi phải cài đặt linh tinh mệt người.
    --- Miệt mài, miệt mài ... http://awas.vn
| thanthoai2114

0 bài
| Ứng dụng đoạn này mà đăng nhập bác này....Nhẹ như lông hồng luôn...Mới tìm ra quá sướng he he... try { //validate username/password combination DotNetNuke.Entities.Users.UserInfo myUser = new DotNetNuke.Entities.Users.UserInfo(); DotNetNuke.Security.Membership.UserLoginStatus userLoginStatus = new DotNetNuke.Security.Membership.UserLoginStatus(); myUser = DotNetNuke.Entities.Users.UserController.ValidateUser(myPortal, myUsername, myPassword, "", "", "", ref userLoginStatus);
if (userLoginStatus == DotNetNuke.Security.Membership.UserLoginStatus.LOGIN_SUCCESS || userLoginStatus == DotNetNuke.Security.Membership.UserLoginStatus.LOGIN_SUPERUSER) { //login the user ... DotNetNuke.Entities.Users.UserController.UserLogin(PortalId, myUser, "", "", true); } else { ... } } catch { ... } ---
| dvcsun

7 bài
| Đây là bài hướng dẫn http://www.codeproject.com/KB/aspnet/ASPNET_Membership_1.aspxNhưng mà làm đúng như họ bảo thì sẽ bị lỗi sau Could not find stored procedure 'dbo.aspnet_CheckSchemaVersion'. Để sửa lỗi này vào thư mục C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727 xem các file .sql mà run là OK InstallCommon.sql InstallMembership.sql InstallPersistSqlState.sql InstallPersonalization.sql InstallProfile.SQL InstallRoles.sql InstallSqlState.sql InstallSqlStateTemplate.sql InstallWebEventSqlProvider.sql Nhưng mà túm lại 1 câu để được sướng phức tạp quá, tự viết code cho nó khỏe, khỏi phải cài đặt linh tinh mệt người.
Sướng như thằng MS là nó fải dùng cái ASP.NET Configuration tool của nó
 ---
|  |
Chủ đề gần đây :
Cùng loại :
|
Tên file
|
Người đăng
|
Ngày
|
Lượt
|
News Ticker Demo.rar
jQuery Carousellite cho cuộn các khối tin nhẹ nhàng mượt mà, sử dụng cho module Tin tức (CMS) hoặc giới thiệu sản phẩm
|
aspnet |
5/7/2011 8:59:52 AM |
663 |
cms_source_dll_sql_2010.rar
source C# + SQL Script + Dll module CMS trên DNN 5x, (bản chạy ổn định không lỗi)
|
aspnet |
9/5/2010 6:05:54 PM |
2154 |
killforever.rar
Script diệt virus forever.exe (lây nhiễm qua USB) mà không cần cài lại window
|
aspnet |
7/28/2010 6:51:30 AM |
304 |
CSharp Coding Standards.pdf
C# Coding standard, for all user, quy tắc viết mã lập trình c# dotnet.
|
aspnet |
6/1/2010 8:27:39 AM |
1371 |
weather_forex_gold.rar
module DNN : "vàng + thời tiết + tỷ giá ngoại tệ" của seekill
|
coder |
3/11/2010 3:50:09 AM |
1241 |
Training DotNetNuke.zip
Tài liệu hướng dẫn cài đặt DNN, tạo module DNN đơn giản, nâng cao
|
quanlv |
9/30/2009 9:11:36 AM |
3262 |
Viet va them 1 module don gian vao website.doc
Hướng dẫn viết module đơn giản trên DNN (word) có hình, gửi bởi vinahana
|
aspnet |
9/18/2009 6:15:24 PM |
1564 |
Moduel NEWs Demo.zip
Một số module bao gồm: News, WorkScheduler, QA, Comment, Menu, ...
|
quanlv |
8/22/2009 10:44:15 AM |
2932 |
MenuDNN5.rar
Menu DNN 51 Page.aspx
|
aspnet |
7/21/2009 12:22:38 PM |
2039 |
diendan.zip
Cài đặt diễn đàn (VSP) chỉ với 4 bước.
|
aspnet |
6/15/2009 2:18:13 AM |
1516 |
roll_updown.zip
Roll up, roll down news list using javascript, simple, easy to use.
|
radiogaga |
6/1/2009 11:29:51 AM |
456 |
rotator-1.0.0.rar
Auto Scroll News - tự động cuộn tin tức bằng JS
|
dotnetvn |
5/30/2009 3:21:22 PM |
682 |
captcha2.rar
CAPTCHA sinh ngẫu nhiên : size, font, position, color ... vẽ line gây nhiễu chống reCAPTCHA bot.
|
tieuphu |
5/30/2009 2:34:42 PM |
669 |
MenuDNN.zip
Menu Dọc cho DNN (Tác giả Võ Thế Quang)
|
biennv |
5/27/2009 8:07:47 AM |
1551 |
Gioi_thieu_san_pham_unisched4.zip
Giới thiệu phần mềm xếp thời khóa biểu đại học (University Scheduling 4.0) : áp dụng cho mô hình xếp thời khóa biểu niên chế, tại các trường đại học và cao đẳng tại việt nam
|
khanhjin |
5/12/2009 5:00:02 PM |
3418 |
HitCounterInDatabaseASPNET.zip
HitCounter
|
nguyentx |
4/20/2009 4:38:04 PM |
601 |
s3Slide.rar
Slide show chuyên nghiệp, giống tintuconline.com.vn
|
coder |
4/9/2009 9:34:41 AM |
2470 |
XMLPROG.zip
XML Programing C# dotnet
|
aspnet |
4/4/2009 10:02:43 AM |
652 |
menu_vnexpress.rar
Tạo menu giống vnexpress = xsl transform, C# dotnet, javascript(Toàn bộ mã nguồn).
|
coder |
3/30/2009 10:14:50 PM |
2628 |
DesktopModules.rar
CMS dotnetnuke + Image Library + Core CMS (DNN Data Provider) version 1.1
|
aspnet |
3/30/2009 5:23:14 PM |
2224 |
|