THẢO LUẬN

Source mình đang dùng Laravel, nếu viết Middleware để ràng buộc để host Deploy API chỉ gọi được API và host deploy trang Admin chỉ vào được trang Admin thì có ok không nhỉ

0
Jun 5th, 2018 2:29 a.m.

demo fail ;v

0
Avatar
đã bình luận câu trả lời trong câu hỏi
Jun 5th, 2018 2:28 a.m.

Cảm ơn bạn, vì dự án mình đang dùng S3 đồng thời dùng Lambda để resize hình ảnh nữa, với một size ảnh cố định thì request đầu tiên nó sẽ chạy qua function lambda để resize ảnh, lưu vào folder, các request tiếp theo thì chỉ lấy ảnh ra thôi. Có phải đây là nguyên nhân gây chậm không nhỉ, bởi vì mình nghĩ nguyên nhân không phải do đường truyền. Vì dự án mình làm có nhiều API trả nhiều đường dẫn ảnh cùng lúc (mỗi màn hình trên mobile show khá nhiều ảnh), mobile gọi lên S3 lấy về để show thì nó khá chậm, ảnh hưởng khá lớn đến trải nghiệm của người dùng. Bạn có giải pháp gì hay trong tình huống của mình không, cho mình suggest với, cảm ơn bạn nhiều (bow)

0

cám ơn bác, bài viết hay

+1

mình dự định là sau bài này hoặc 1 bài nữa mình sẽ làm một tut project áp dụng tất cả các vấn đề cho các bạn dễ hiểu. Cám ơn bạn đã theo dõi 😃

+1

Mình đang theo dõi seri này của bạn, rất hay rất dễ hiểu. Tuy nhiên nếu có thể, mình mong bạn demo trên 1 project nhỏ thực tế để join các part lại với nhau, như vậy sẽ dễ hiểu hơn và hay hơn. Cảm ơn bạn

+2
Jun 4th, 2018 11:25 a.m.

Em đặt câu hỏi hơi thiếu dữ kiện. Lần sau nếu đặt câu hỏi anh nghĩ em có thể ghi cụ thể hơn một chút về kiến trúc của hệ thống.

VD: Backend đang dùng Express, Bên front end dùng Vue.js. Tách làm 2 repo riêng... Như thế mọi người sẽ support nhanh hơn vì đầy đủ dữ kiện hơn.

0

mong bạn sẽ đón nhận những bài viết tiếp theo của mình!

0
Jun 4th, 2018 7:33 a.m.

(love) (love)

0
Jun 4th, 2018 7:24 a.m.

hay quá upvote nhiệt tình (y)

+1
Jun 4th, 2018 7:19 a.m.

kiến thức bổ ích quá. cảm ơn bạn đã chia sẻ

+1
Avatar
đã bình luận cho bài viết
Jun 4th, 2018 4:46 a.m.

@NguyenThaiSon senior ve python roi

0
Jun 4th, 2018 4:45 a.m.

Good article

0
Jun 4th, 2018 3:48 a.m.

Hay quá

0
Jun 4th, 2018 3:19 a.m.

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

0
Jun 4th, 2018 2:57 a.m.

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
Jun 4th, 2018 2:20 a.m.

@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
Jun 4th, 2018 2:13 a.m.

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
Jun 4th, 2018 1:28 a.m.

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
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í