Matt RaibleMatt Raible is a writer with a passion for software. Connect with him on LinkedIn.

The Angular Mini-Book The Angular Mini-Book is a guide to getting started with Angular. You'll learn how to develop a bare-bones application, test it, and deploy it. Then you'll move on to adding Bootstrap, Angular Material, continuous integration, and authentication.

Spring Boot is a popular framework for building REST APIs. You'll learn how to integrate Angular with Spring Boot and use security best practices like HTTPS and a content security policy.

For book updates, follow @angular_book on Twitter.

The JHipster Mini-Book The JHipster Mini-Book is a guide to getting started with hip technologies today: Angular, Bootstrap, and Spring Boot. All of these frameworks are wrapped up in an easy-to-use project called JHipster.

This book shows you how to build an app with JHipster, and guides you through the plethora of tools, techniques and options you can use. Furthermore, it explains the UI and API building blocks so you understand the underpinnings of your great application.

For book updates, follow @jhipster-book on Twitter.

10+ YEARS


Over 10 years ago, I wrote my first blog post. Since then, I've authored books, had kids, traveled the world, found Trish and blogged about it all.

Bluetooth-enabled T68i for $25

a sweet phone Damn! My phone, the Sony-Ericsson, just got a whole lot cheaper (I paid $180). From Gizmodo:

Sony Ericsson's T68i cellphone, which has a color screen, Bluetooth, and uses GPRS for surfing the Web and sending emails, text messages, and multimedia messages, is just $24.99 with new service activation over at Amazon.

If you're in the market for a new phone, I highly recommend this one - even for the $180 I paid. It's nice to use iSync and have all my contacts synchronized with no wires. It's also great for checking my e-mail (IMAP or POP), and I can even use Yahoo Messenger on it! My favorite feature though is the ability to find the closest movie times or restaurants - I just have to tell it to auto-locate me. I think most of these features are mMode features though, not just for the phone.

Posted in General at Dec 05 2002, 06:30:45 AM MST Add a Comment

Using JAAS and making it switchable

Erik Hatcher has convinced me that I need to give more coverage to JAAS in my chapter on Security. To quote his comment from yesterday's JAAS post:

I think you are underestimating the value of JAAS a fair bit. Suppose you want to authenticate your users against a database table of users/passwords. Without JAAS this is container-specific (sure it works nice in Tomcat, but would you be able to do FORM authentication in WebSphere easily?). We use JAAS in the big application I'm developing and it gives us the freedom to more easily port our application to other containers. What if your application needed to authenticate users (suppose for a portal, not that far fetched, eh?) where each "portlet" had a different authentication scheme: LDAP, Windows NT, database, etc. JAAS is the way to go.

While I can see Erik's point, I think that if the app servers follow the Servlet spec, implementing form-based authentication on any J2EE-compliant server should be easy. After all, Tomcat is the Reference Implementation. At the same time, the bit about the portles is a whole other can of worms - I can see what he's getting at, and I guess I need to figure out an easy way to demonstrate using JAAS. From what I understand, you do have to call the authenticate() in a servlet or filter. Hopefully, I can use a little Ant/XDoclet magic to create a sample that can switch b/w form-based, container-managed authentication and JAAS. Tell me what you think of this idea:

  • Use Ant and a task that runs if ${enable.jaas} is true
  • This task (i.e. jaas) will add a JAAS policy file to the webapp, maybe in the WEB-INF/classes directory so it's in the classpath
  • The jaas task will do some token replacement in login.jsp to change the form's action from j_security_check to something else. Ideally, I wouldn't have to do this.
  • The webdoclet task with not merge the web-security.xml file into web.xml
  • The ActionFilter, which I currently use to retrieve the user's information, will call the authenticate method and route appropriately if JAAS is enabled.

One thing I really like about form-based authentication (besides the ease of setup and no required programming) is that it allows users to bookmark pages in your app. When they select that bookmark again after logging out, they are prompted for a login and routed to the bookmark upon successful authentication. I hope JAAS can do this too.

Posted in General at Dec 05 2002, 04:22:22 AM MST 5 Comments

JAAS vs. Container-Managed Security

I'm digging into JAAS this afternoon as I enjoy the vacancy of the Winter Break at DU's Penrose Library. Man, what a great school - I used to love it when we'd get off 6 weeks for Christmas Break - from Thanksgiving through January - how sweet is that!?

The reason I'm writing on this cold (32°F) afternon is to get some thoughts on JAAS in web applications. I'm giving it about a paragraph of coverage, explaining that it's mainly for declaring authentication and authorization in policy files. Furthermore, it's only invoked when running your application (or Tomcat) with a security manager. However, it's not really needed in web applications because 1) container-managed/web.xml is good enough, and 2) authentication mechanisms never really need to be that fine-grained. Whaddya think? Am I wrong, does it deserve more coverage? Don't most app servers use JAAS under the covers?

Posted in General at Dec 04 2002, 10:19:06 AM MST 8 Comments

Symlinking now works in Tomcat 4.1.16!

The Tomcat developers turned off the ability to create symbolic links (symlinks) in 4.1.x. This really threw a wrench in my ability to upgrade as I use symlinks to point to resources outside my webapp all the time. I don't do it for jars, but for common image or documentation directories. In Tomcat 4.1.12 (the latest release), you were supposed to be able to turn symlinks back on by adding the following to your app's context:

<Resources
  className="org.apache.naming.resources.FileDirContext"
  allowLinking="true" caseSensitive="false" />

The bad news? This didn't work! I'm happy to report that with the lastest 4.1.16 beta, this does work! So, for instance, if you want to turn on symlinks in the ROOT context, add the following to your server.xml:

<Context path="" docBase="ROOT" debug="0">
  <Resources
    className="org.apache.naming.resources.FileDirContext"
    allowLinking="true" caseSensitive="false" />
</Context>

Posted in General at Dec 04 2002, 09:10:54 AM MST 2 Comments

News Nuggets from Today

We skied this run! The skiing was great at Vail today! I might not be able to walk tomorrow, but so goes the first day of the season.

There was all kinds of good info from the java.blogs community, and so I re-emphasize, for the heck of it. My favorites (thanks Erik and Dave):

Posted in General at Dec 03 2002, 03:59:45 PM MST 1 Comment

Stomach Flu

Julie and I are sick with the stomach flu - hopefully it's just a 24 hour thing. There's nothing like getting sick to make deadlines even tighter.

Posted in General at Dec 01 2002, 03:04:47 PM MST Add a Comment

Oslo - New Project admin tool

Aslak Hellesøy, of XDoclet fame, has started a new project admin tool called Oslo.

Oslo is an administration tool that will let you set up a development project easily.
...
The main goal of the Oslo project is to provide one single tool that can automatically download, install and configure such tools. Oslo will provide an intuitive web interface where everything can be configured.

Sounds good to me - it's definitely needed! BTW, I found these XDoclet Templates for Eclipse.

Posted in General at Nov 28 2002, 06:04:35 AM MST Add a Comment

Happy Thanksgiving!

Happy Thankgiving!

I would like to thank my wonderful family and my great friends for making my life a blast to live! I'm also thankful for good health and the micro-breweries of Colorado, Montana and Oregon.

I'd also like to thank the blogging community (particlarly you java.blogs gents) for making the web fun again. Now go get some good eats and tell your family I said Hi! Big Smile

Posted in General at Nov 27 2002, 06:53:27 PM MST Add a Comment

www.javablogs.com

I woke up around 10 this morning (after being up until 2 last night), fired up NetNewsWire and started reading. The first one of interest was Dave's entry All I can say is WOW! and where can I get the source?. I signed up and was amazed my the smoothness and speed of this webapp. As I told Mike - this is one of the coolest things I've woken up to in a long time. The question is, will I stop using NetNewsWire on OS X, or Phoenix (with a 31 tabbed bookmark) to read the blogs? Probably not, I like the look of a web page, and people are changing their styles so much, that it's nice to see good looks along with great content.

I guess if I really had my shit together, I'd put something like this together for www.javawebapps.com. A place where you can signup and upload your .war files for public consumption. I'm willing to let the java.blogs webapp be the first entry! I'd love to hear more about this webapp - I'm guessing it's written using webwork and it's running on Resin.

Posted in General at Nov 27 2002, 05:28:36 AM MST Add a Comment

Bend, Oregon

Floating Mountain Russell says he's heading to Bend, Oregon next weekend. Cool! I went to high school in Salem, Oregon and a bunch of my friends lived in Bend after college. Julie and I have visited Bend a few times, and it's a really nice mountain town. It's kinda like Denver, but a lot smaller (but growing rapidly). They get 300 days of sunshine a year (like Denver) and have a great micro-brewery. Everytime I've been there, I've wanted to move there. It's got great skiing too! But then again, Russ may not like it since he hates the cold and it was 15 degrees (F) this morning!

Posted in General at Nov 26 2002, 04:11:17 AM MST 1 Comment