THẢO LUẬN

Avatar
đã bình luận cho bài viết
thg 6 4, 2018 4:46 SA

@NguyenThaiSon senior ve python roi

0
thg 6 4, 2018 4:45 SA

Good article

0
thg 6 4, 2018 3:48 SA

Hay quá

0
thg 6 4, 2018 3:19 SA

Không đúng. Và cũng không phải lí do chính để apply architecture này.

0
thg 6 4, 2018 2:57 SA

Ví dụ khi bạn sử dụng Navigation Drawer khi muốn Fragment hiển thị để thao tác thì thường fragmentTransaction.replace() do đó gây mất state của Fragment trước đó, do đó khi bạn sử dụng Navigation Architecture này nó giống như back stack không làm mất state của Fragment trước đó

-1

nhưng bạn có thể tìm cách disable hết các route liên ban đến trang admin khi deploy ở server API, và ngược lại 😄

Nếu là mình thì mình sẽ đặt biến môi trường định nghĩa role của từng server, khi vào controller thì check biến môi trường, không đúng role thì báo lỗi luôn 😃

+1
thg 6 4, 2018 2:20 SA

@jissonlyoko À sorry em, anh không để ý, tưởng em hỏi về Passport của Laravel, hoá ra không phải 😂

Em dùng Passport Nodejs thì không biết có phải là dùng http://www.passportjs.org/ không nhỉ 🤔

0
thg 6 4, 2018 2:13 SA

Mình đoán chắc là bạn tách backend (Nodejs) và frontend (Vuejs) ra làm hai project tách biệt nhau rồi. Bạn có thể tham khảo cách là ở Nodejs thêm middeware accept cross domain. Sau đó thì bên Nodejs vẫn giữ lại phiên đăng nhập của bên Vuejs như bình thường. Bạn thêm mấy dòng sau để accept cross domain

app.use(function(req, res, next) {
	res.header('Access-Control-Allow-Credentials', true);
	res.header('Access-Control-Allow-Origin',  req.headers.origin);
	res.header('Access-Control-Allow-Methods','OPTIONS,GET,PUT,POST,DELETE');
	res.header('Access-Control-Allow-Headers', 'X-Requested-With, X-HTTP-Method-Override, Content-Type, Accept, X-XSRF-TOKEN');
	
        next();
});

Ví dụ bạn dùng passport để đăng nhập :

router.post('/login', function (req, res, next) {
	passport.authenticate('local', function (err, user) {
		if (err) { throw new errr; }

		if (!user) {
			return res.status(401).json({
				failureMessage: 'Invalid username or password!'
			});
		}

		return req.logIn(user, function (err) {
			return res.status(200).json({
                               messages : 'Login successfull'
                       })
		});

	})(req, res, next);
});

Bây h mỗi lần đăng nhập bên Vuejs bạn gửi thông tin đăng nhập sang /login như bình thường thôi ý. Cách này khổ cái là bất cứ chỗ nào cần thông tin user thì mình cứ phải gửi lại cho nó req.user từ bên Nodejs sang... 😄 😄 😄

+1
thg 6 4, 2018 1:28 SA

Cảm ơn anh đã cmt, em mới chỉ để tag ở bài series. Quên chưa để ở các bài bên trong 😄

+2
Avatar
đã bình luận cho bài viết
thg 6 4, 2018 1:15 SA

Bạn có thể thêm tag kotlin vào bài viết để sau mình tìm đọc tiếp đc ko?

+1
thg 6 4, 2018 12:49 SA

Nếu bạn có tham khảo nguồn khác thì xin hãy trích dẫn lại.

+2

nỡm ạ 😃))

0

ad ơi sao em không thấy file dispatcher-servlet.xml với hibernate.cfg ạ?

0

Admin ơi cho em hỏi là em muốn tạo hàm search nhưng em dùng spring boot không phải springMVC thì có đc dùng hàm này không ạ?

0
thg 6 3, 2018 3:03 CH

Thank you!!

+1
thg 6 3, 2018 2:35 CH

Biết sao được bạn. Về giáo trình mới thì đầy đũ trực quan hơn cũ. Nhưng về UI/UX thì kém hẳn =)))

0
thg 6 3, 2018 2:20 CH

thật sự thì cái chứng chỉ nhìn xấu ghê. cái đích cho ae học FCC mà trông vầy nhiệt huyết giảm đi 1 nửa :v

+1
thg 6 3, 2018 2:05 CH

@thangtd90 Dạ em cám ơn anh nhiều ạ. Anh có thể cho em ví dụ về sử dụng giữa passport nodejs và vuejs được không ạ. Em cám ơn anh nhiều ạ

0
thg 6 3, 2018 2:01 CH

Có lẽ em đang có sự nhầm lẫn gì đó ở đây. 😄 Đầu tiên em nên tìm hiểu kỹ hơn về khái niệm SessionCookie. Session được lưu ở Server, và Cookie được lưu ở Browser.

Em có thể tham khảo một vài bài viết trên Viblo:

Thế nên em không việc gì phải bối rối cả, vì Session luôn được lưu ở Server rồi 😂

Còn về cách xác thực người dùng bằng passport thì không rõ em đang gặp vấn đề cụ thể là gì, em có thể tham khảo các bài viết khác trên Viblo:

+1

Rất hay đó a

+1
Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí