After reading this post you will be able to implement robust user authentication and authorization scheme without replicating code to check if user is logged in and if the are authorized to perform a certain action.
The Problem Domain
You, like me, face the same problem with each web application – user authentication and authorization. Who is logged in? Can they delete this entity? Can they see this report? How to solve this problem without copy pasting same piece of code to every servlet/action/controller/whatever? If you are using spring MVC there is a very elegant and powerful solution – Interceptors.
You can have as many interceptors as you like, I usually have one for security and maybe one more for some other task. Interceptor fires before your controller/action gets invoked. If it returns true the flow can continue, if it returns false the execution stops right there – request has been handled by the interceptor.
Continue reading Goolge app engine + java + spring + REST + JSON + Flex – Part 3
Once you are finished with this article, you will be able to store application data in Google App Engine Data store and consume REST service using flex client.
Common Problems and Solutions
In my personal opinion flash player security model is the biggest piece of bullshit I ever encountered. If you sit down and thing just for 10 seconds about how it is implemented you will have to agree that it provides NO security at all. It just makes impossible so do certain things, that’s all. Adobe needs to drop it now.
Here is the problem that we have with REST and Google app engine: Adobe’s implementation of HTTPService only supports GET and POST, to consume REST we need at least 3 methods: GET, POST and DELETE. We can live without PUT – if id is null JDO will create a new persisted object, if it is set JDO will update it. But we still do not have support for DELETE. Continue reading Goolge app engine + java + spring + REST + JSON + Flex – Part 2
Once you are finished with this article, you will be able to implement REST services in Google Apps Engine using JAVA, Spring 3.0 and JSON. In the next part you will learn how to add flex application to consume the services.
Step one – Getting all required libraries: Google App Engine SDK, Spring and JSON serializer
If you are using Eclipse (my favorite IDE), you can install google plugin from here. If you choose to go another route, you need to download the sdk, create the project and join us back in the next section. Once you install the plugin, restart eclipse and you can see these buttons
you can proceed to the next section.
Step Two – Create new project
Go to new project wizzard Continue reading Goolge app engine + java + spring + REST + JSON + Flex – Part 1
I have been inching to try out google app engine and its capabilities, but did not wan to give up the spring. So to day I am starting on my prototype involving Goolge app engine + java + spring + REST + JSON.
The end product will be spring mvc app running in google app engine handling GET, POST, PUT and DELETE http requests with JSON objects in and out utilizing JDO and seesions. This will give me a platform to write clients in Objective C for Ipod/Iphone (aka Coco Touch), Android, Flex, Ajax and maybe couple more platforms.
I am writing this while I am downloading Spring 3.0RC1. Will try to give daily updates if I can. If my prototype works as expected (all the research points to yes), I will have sample project available for download. There will be some trouble getting Flex to talk REST, since it only supports GET and POST and like most Adobe development stuff is not of the greatest maturity……. (opening new tab to check if we have new version of flex… still beta). Anyhow, Flex REST part will be interesting, I have already done some hacking in that area and it can be done – I have to write http client by hand, but who does not like an interesting challenge?
So here you have it. Next update when I have Spring 3 mvc inside google app engine up and running.
The part 1 is now online.
The part 2 is now online.
The part 3 is now online
The part 4 is now online
Just released first version of the flight game. It test your knowledge of geography! and even has a top 100 scoreboard. Try it out, see if you can be #1.
Play the flight Game!
I spent pas couple days digin in microsoft AD and spring LDAP. The job at hand was not pleasant, but after lots of pocking and test I managed to get the dag on thing to work. I can add/edit/delete/change password for a User stored in AD. Here is the source code for the class:
Continue reading Using Microsoft Ad to Create and Authenticate Users
I have realized that I am spreading myself too thin. I have too many projects going on at the same time and all of them suffer. I have too many mailing list “spamming” me and too many podcast to listen to. So I am going on an information diet. I know what I know and I will not get closer to my goals by listening to another podcast or reading another infomercial type email.
I am ordering my projects according to the priority and completion potential. I will spend time only on one of them until it is finished. I think a lot of technical people have the problem with polishing the product and never realizing that is does not have to be perfect. Once it is working, we need to focus on marketing and selling it. I know I sometimes suffer from this perfection paralysis.
So focus, focus and one more time focus. Do not let your eye off the ball.
And for those who want to listen to a very interesting podcast on internet business and marketing check out Sterling and Jay on “Internet Business Mastery“
My plan was to finish a simple flash game for attracting more visitors to own of my websites, but as sometimes happens – life intervened. I was able to sit down at the computer to code for ah hour at around 8pm last night. Caring for an infant is exhausting. All you moms out there I really know how hard you have to work!
On another note, we are filing our first eviction in 3 years or real estate investing. That is a great track record, but I rather not do it. Sometimes you just have no choice. To have even a slight chance of getting our money we have to go to court. I feel for the family that has to move out, but we can not afford to run a charity.
Now that initial shock of caring for a newborn has passed, I am ready to get back to business. My daughter is almost 3 months old now. She starts to sleep more at night, that leaves more of the night to work on my world domination plan.
I came to a realisation that the only way to freedom is internet business. Real estate is great, but you have to be there all teh time. You need to go see houses, buyers and sellers. Unless, of course, you are a multi millionaire and can just buy and sell skyscrapers and shopping mals or big apartment buildings.
To have freedom to travel and work from anywhere I need to be location independent. I have this dream of renting and RV and driving around the USA one summer. To make this work, I need a business that will run itself with minimum involvement form me. The only way I see it – take it to the internet. I allready have multiple websites up and running, but only one has potential to bring any substantial income this year. So now I have crafted a plan to launch 2 products taht I can sell online. And one of them has the lucrative “monthly subscibtion” feature.
I am working on the first one already. I will be releasing a Beta pretty soon. And the best part of it – I am planing on giving the base version out for free.
So here it is. How that I have promissed to you, that I am gonna do it, I have no other choise, but to do it.
I am back from the long break! inthe time I was away I had a life changing experience – birth of my daughter Luka. It is truly a life changing experience. Now that we are over the initial shock and trying to adjust to new way of life (read – no sleep) I will be getting back to online marketing.