Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Trang 1 của 2 12 CuốiCuối
Kết quả 1 đến 10 của 17
  1. #1

    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

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi ducnv_b01048
    à 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

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    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

  4. #4
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi billsang
    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

  5. #5
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    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.

    [IMG]images/smilies/biggrin.png[/IMG]

  6. #6
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    cảm ơn hảo hán,mình sẽ download về tìm hiểu

  7. #7
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    không có phản hồi gì.chắc là ngon lành rồi chứ hả!

  8. #8
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    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à:
    Mã:
    <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à:
    Mã:
    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
    Đã 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 tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi billsang
    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!

    ^^

 

 
Trang 1 của 2 12 CuốiCuối

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •