Thư viện tri thức trực tuyến
Kho tài liệu với 50,000+ tài liệu học thuật
© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

Làm chủ Grails: Chứng thực và phân quyền ppsx
Nội dung xem thử
Mô tả chi tiết
Làm chủ Grails: Chứng thực và phân quyền
Đảm bảo an ninh cho các ứng dụng Grails của bạn
Scott Davis , Tổng Biên tập, AboutGroovy.com
Tóm tắt: Grails cung cấp tất cả các khối xây dựng cơ bản bạn cần để lắp ghép
thành một ứng dụng Web an toàn, các khối này được sắp xếp từ mức thẩm định
quyền đơn giản thông qua cơ chế đăng nhập đến việc phân quyền dựa trên vai trò,
và trong phần Làm chủ Grails, Scott Davis cung cấp cho bạn những bài học thực
hành về đảm bảo an ninh cho ứng dụng Grails của bạn. Bạn cũng sẽ được học về
các trình gắn vào (plug-in) sao cho bạn có thể mở rộng khả năng đảm bảo an ninh
cho ứng dụng của bạn theo nhiều hướng mới.
Trong bài viết này, tôi tiếp tục việc xây dựng một "blog siêu nhỏ" có tên là
Blogito. Tôi đã sử dụng lại các Users trong bài viết trước (" Rewiring Grails with
custom URIs and codecs") bởi vì trường name là một phần của URI đầy đủ. Đã
đến lúc thực thi hệ thống con User đầy đủ. Bạn sẽ học cách để tạo cơ chế đăng
nhập, hạn chế hoạt động của người dùng dựa vào việc User có đăng nhập hay
không, và thậm chí thêm vào một số quyền dựa trên vai trò của User.
Để bắt đầu, người sử dụng cần có một cách đăng nhập vào blog sao cho họ có thể
bổ sung các entry mới.
Việc thẩm định quyền
Việc thẩm định quyền có lẽ là một ý tưởng tốt đối với các máy chủ blog hỗ trợ
nhiều người dùng. Dĩ nhiên là bạn không muốn một người dùng có tên là John
Doe lại tình cờ bổ sung các entry lên blog hệt như người dùng tên Jane Smith.
Việc thiết lập cơ sở cho việc thẩm định quyền là trả lời câu hỏi: "Bạn là ai?". Ngay
sau đó, bạn sẽ có thêm một chút quyền nữa, và nó trả lời cho câu hỏi: "Bạn được
phép làm gì?"
Ví dụ 1 biểu diễn một tệp grails-app/domain/User.groovy mà bạn đã tạo ra vào lần
trước:
Ví dụ 1. Lớp User
class User {
static constraints = {
login(unique:true)
password(password:true)
name()
}
static hasMany = [entries:Entry]
String login
String password
String name
String toString(){
name
}
}
Các trường login và password đã được đặt đúng vị trí. Tất cả những gì bạn cần là
cung cấp một điều khiển (controller) và một mẫu biểu (form). Hãy tạo ra tệp
grails-app/controllers/UserController.groovy và thêm vào đoạn mã, như trong ví
dụ 2:
Ví dụ 2. Thêm xác thực quyền login , và logout cho điều khiển UserController
class UserController {
def scaffold = User
def login = {}
def authenticate = {