Trang 1 trên tổng số 4 123... Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 34 kết quả

Đề tài: RoleProvider MVC3 (Login Phân Quyền)

  1. #1
    Ngày gia nhập
    04 2012
    Nơi ở
    Ha Noi
    Bài viết
    149

    Smile RoleProvider MVC3 (Login Phân Quyền)

    Hôm nay mình sẽ hưỡng dẫn các bạn phân quyền của một tài khoản khi đăng nhập vào website của bạn.
    mô hình mvc3.

    b1.sửa file Web.config

    b2.tạo một class CustomRoleProvider.cs để quản lý phân quyền.

    b3.tạo Homecontrollers và view login


    b4.tạo Admincontrollers và view admin



    demo vài hình ảnh





    code full ở file đính kèm các bạn dowload về xem.

    sẽ giải đáp về .net MVC3
    Attached Files Attached Files

  2. #2
    Ngày gia nhập
    01 2011
    Nơi ở
    http://laptrinhviet.net/
    Bài viết
    91

    Mặc định file đính kèm thiếu phần class CustomRoleProvider.cs

    Chào bạn ducnv_b01048 .Xin lỗi mình tìm thấy file đó rồi
    Tuy nhiên bạn có thể hướng dẫn rõ hơn phần code xử lý dưới database được không.Kéo roẹt cái Linq to sql làm demo cho anh em dễ hiểu được không
    Việc thiết kế Database như thế nào,mình chỉ cần 1 table có đủ trường cơ bản như :
    TenDangNhap,MatKhau,QuyenHan
    hay phải tách làm 2 bảng :
    Bảng 1: TenDangNhap,MatKhau
    Bang 2: QuyenHan
    Mình định làm 1 cái web nhỏ,các quyền là cố định ( Admin,Member,Guest) ,sau đó có 1 tài khoản Admin cho phép chỉ định role cho từng tài khoản.
    Mình dùng cái Membership của thằng Microsoft thì trông nó đồ sộ quá,với lại khi up lên host muốn gán quyền cho tài khoản cũng cần code rât phức tạp.Chi bằng viết cái đơn giản phục vụ mục đích của mình.
    Mình thấy cách bạn hướng dẫn rất đơn giản phù hợp với mục đích của mình.Tuy nhiên bạn vắn tắt quá nên mình chưa hiểu

  3. #3
    Ngày gia nhập
    04 2012
    Nơi ở
    Ha Noi
    Bài viết
    149

    Trích dẫn Nguyên bản được gửi bởi billsang Xem bài viết
    Chào bạn ducnv_b01048 .Xin lỗi mình tìm thấy file đó rồi
    Tuy nhiên bạn có thể hướng dẫn rõ hơn phần code xử lý dưới database được không.Kéo roẹt cái Linq to sql làm demo cho anh em dễ hiểu được không
    Việc thiết kế Database như thế nào,mình chỉ cần 1 table có đủ trường cơ bản như :
    TenDangNhap,MatKhau,QuyenHan
    hay phải tách làm 2 bảng :
    Bảng 1: TenDangNhap,MatKhau
    Bang 2: QuyenHan
    Mình định làm 1 cái web nhỏ,các quyền là cố định ( Admin,Member,Guest) ,sau đó có 1 tài khoản Admin cho phép chỉ định role cho từng tài khoản.
    Mình dùng cái Membership của thằng Microsoft thì trông nó đồ sộ quá,với lại khi up lên host muốn gán quyền cho tài khoản cũng cần code rât phức tạp.Chi bằng viết cái đơn giản phục vụ mục đích của mình.
    Mình thấy cách bạn hướng dẫn rất đơn giản phù hợp với mục đích của mình.Tuy nhiên bạn vắn tắt quá nên mình chưa hiểu
    dạo này mình bận quá.thư 5 tuần này mình sẽ trả lời bạn. 10/5/2012 bạn nhé.chiều 1h30.có thể ol thì sẽ dướng dẫn trực tiếp sau đó post lên đây sau.

    à cái này nó ngang cái Membership mà.nhưng mình thích dùng cái này vì nó dễ quản lý và tường minh đơn giản dễ hiểu.mình thích sự dễ hiểu

  4. #4
    Ngày gia nhập
    01 2011
    Nơi ở
    http://laptrinhviet.net/
    Bài viết
    91

    Trích dẫn Nguyên bản được gửi bởi ducnv_b01048 Xem bài viết
    à cái này nó ngang cái Membership mà.nhưng mình thích dùng cái này vì nó dễ quản lý và tường minh đơn giản dễ hiểu.mình thích sự dễ hiểu
    Tư tưởng của bạn mình rất tán thành và mình cũng muốn thế .
    Thích sự đơn giản nhưng lại có thể làm được những thứ mình cần.
    cái membership của thằng Micrisoft thì mình lại phải tạo cái CSDL mẫu của nó,mà việc thêm,sửa xóa nó lại không theo cách thông thường của MVC,mình làm code first nên chằng biết thao tác nó như thế nào
    Download mấy cái membership trên mạng về,copy-pate sài thì được,nhưng đọc vào code thì trời ơi rối rắm lắm.
    Mình mắc mỗi cái này là có thể cho ra cái sản phẩm dở hơi của mình.Rất mong bạn sớm có lời hồi đáp
    Cảm ơn bạn rất nhiều.

    Ket ket - hè đến rồi ,thèm bia quá,không biết có ai trong CViet hứng thú vụ này không.Hôm nào tui mời đi xả láng luôn

    chào bạn:ducnv_b01048
    Chờ mãi lời hứa chiều thứ 5 có bái về quản lý phân quyền của hảo hán mà không thấy đâu.
    Chắc cao thủ bận quá,nhưng thực sự mình đang rất cần,bạn có thể có bài sớm được không .Hay có thể sent cho mình cái demo được không ,mail mình là : billsangvn@gmail.com
    Cảm ơn rất nhiều

  5. #5
    Ngày gia nhập
    04 2012
    Nơi ở
    Ha Noi
    Bài viết
    149

    mình gửi vào mail rồi đấy.sorry bạn tại có buổi họp.mình quyên mất!@@

    bạn có thể dowload ở đây.có gì mail cho mình nhé.

    bài này mình làm trên csdl rồi đấy.bạn xem entty để xem csdl và tạo nhé.
    sau đó bạn tạo tài khoản và phân vai trò(roles) cho nó.
    có 3 vai trò nhé.
    - "admin"
    - "nhanvien"
    - "nguoidung"

    + với quyền admin thì có thể vào được hết các trang.
    + nhân viên thì chỉ có thể vào được trang nhân vien và trang người dùng
    + người dùng thì chỉ có thể vào trang người dùng.

    Attached Files Attached Files

  6. #6
    Ngày gia nhập
    01 2011
    Nơi ở
    http://laptrinhviet.net/
    Bài viết
    91

    Mặc định RoleProvider MVC3 (Login Phân Quyền)

    cảm ơn hảo hán,mình sẽ download về tìm hiểu

  7. #7
    Ngày gia nhập
    04 2012
    Nơi ở
    Ha Noi
    Bài viết
    149

    không có phản hồi gì.chắc là ngon lành rồi chứ hả!

  8. #8
    Ngày gia nhập
    01 2011
    Nơi ở
    http://laptrinhviet.net/
    Bài viết
    91

    Vừa phải đi 1 ngày ra ngoài,chưa có thời gian làm được.
    Chưa thử ,nhưng download code về coi thấy rất gọn gàng và dễ hiểu.Chắc làm làm ok
    Các của bạn rất phù hợp với yêu cầu về quản trị quyền hạn đơn giản cuả mình
    Tuy có thêm chút thắc mắc nữa đó là,bạn có thể xây dựng phần MembershsipProvider không,để có thêm các tính năng về đăng nhập như : đăng ký,thay đổi pass ... như cái AccountController mà thằng Visual Studio nó tạo sẵn cho ta ý.
    Dĩ nhiên đó là vấn đề sau này phát triển web của mình phức tạp hơn,hiện tại mình đang dùng cái bạn vừa demo,tuy nhiên tiện đây thì hỏi luôn,sau này đỡ mất công tìm hiểu lại.

    Dù sao cũng cảm ơn bạn rất...rất nhiều,từ hồi mới bước chân vào thế giới .net hôm nay mới gặp được bạn là người nhiệt tình và hiệu quả như thế
    Thân chào !

    Phần web.config bạn khai báo là:
    Code:
    <roleManager enabled="true" defaultProvider="MyRoleProvider">
          <providers>
            <clear />
            <add name="MyRoleProvider" type="PhanQuyenMVC3.CustomRoleProvider" />
          </providers>
        </roleManager>
    Ở đây tên project của mình là MvcDangNhap,và file CustomRoleProvider.cs mình đặt trong thư mục
    Model và minh khai báo type là:
    Code:
    type="MvcDangNhap.CustomRoleProvider"
    Mình nghĩ cái name không quan trọng và đoán lỗi ở phần type
    Mong bạn fix giùm
    cảm ơn rất nhiều

    An mình fix được rồi,phần type là tham chiếu tới file CustomRoleProvider.cs
    mình cần tham chiếu lại vì đặt trong thư mục Model,và đã ok

  9. #9
    Ngày gia nhập
    01 2011
    Nơi ở
    http://laptrinhviet.net/
    Bài viết
    91

    Mặc định Báo cáo

    Đã chạy thử,và tất cả mọi thứ đều ok.
    Mình hỏi thêm chút đó là.Mình muốn lưu tên đăng nhập và mật khẩu của người dùng trên trình duyệt đến khi nào họ đăng xuất mới thoát,nếu họ chỉ tắt trình duyệt đi thì khi nào vào lại trang thì vẫn không cần đăng nhập.
    Mình đoán là dùng cái cookies gì đó,nhưng do dạo trước mình học thẳng mvc ko qua cái thằng asp nên cũng hơi lơ mơ về cái này

  10. #10
    Ngày gia nhập
    09 2011
    Nơi ở
    Hồ Chí Minh
    Bài viết
    21

    Trích dẫn Nguyên bản được gửi bởi billsang Xem bài viết
    Tư tưởng của bạn mình rất tán thành và mình cũng muốn thế .
    Thích sự đơn giản nhưng lại có thể làm được những thứ mình cần.
    cái membership của thằng Micrisoft thì mình lại phải tạo cái CSDL mẫu của nó,mà việc thêm,sửa xóa nó lại không theo cách thông thường của MVC,mình làm code first nên chằng biết thao tác nó như thế nào
    Download mấy cái membership trên mạng về,copy-pate sài thì được,nhưng đọc vào code thì trời ơi rối rắm lắm.
    Mình mắc mỗi cái này là có thể cho ra cái sản phẩm dở hơi của mình.Rất mong bạn sớm có lời hồi đáp
    Cảm ơn bạn rất nhiều.

    Ket ket - hè đến rồi ,thèm bia quá,không biết có ai trong CViet hứng thú vụ này không.Hôm nào tui mời đi xả láng luôn
    Mới lướt sơ qua thì thấy em này lập trình membership và role như vậy không ổn tí nào, chắp vá quá. Thật ra thì đừng nên ghép Membership provider, Role Provider và Profile Provider của MS, chúng rất mạnh mẽ. Các bạn cũng nên tự hỏi tại sao các chuyên gia lập trình nếu muốn implement các providers tương tự cũng phải tuân thủ theo đặc tả của MS.

    Bản thân mình cũng đã tự viết các providers theo đặc tả của MS bằng NHibernate và bằng EF Code First, và nó cực kỳ phức tạp. Tất nhiên, bạn cũng nên tự học để viết các Membership Provider và RoleProvider cho riêng mình, nhưng cái này không ổn tí nào.

    Hiện tại trang Jou Lập trình có sử dụng hệ thống SSO từ id.jou.vn, và id.jou.vn sử dụng customize providers làm bằng EF Code First, nhưng có lẽ mình sẽ sử dụng công nghệ khác trong tương lai, EF với LINQ hiện đã có tốc độ rất nhanh, nhưng so với việc thực thi câu lệnh SQL trực tiếp thì vẫn khá tốt. Các bạn thì cứ nên sử dụng EF, code nhanh và gọn gàng!

    ^^

Các đề tài tương tự

  1. Login account của máy tính vào MVC3 c#
    Gửi bởi kelalung trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 1
    Bài viết cuối: 02-11-2012, 08:18 PM
  2. Login và kiểm tra quyền login bằng MVC ASP.Net?
    Gửi bởi hoanghuynh2409 trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 10
    Bài viết cuối: 14-03-2012, 10:50 PM
  3. Hàm login có phân quyền, xin chỉ giúp??
    Gửi bởi boy8x_sg trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 1
    Bài viết cuối: 18-01-2010, 09:21 AM
  4. Làm sao sử dụng lại Database của SQL với quyền Login khác?
    Gửi bởi trickyboy trong diễn đàn Thắc mắc đại cương Database & Reporting
    Trả lời: 7
    Bài viết cuối: 20-02-2009, 06:27 PM
  5. Phân quyền khi login
    Gửi bởi c1inme trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 6
    Bài viết cuối: 12-04-2008, 02:32 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn